今天找了找网上的nginx 301代码,发现不是不生效就是错误,几经修改才成功。下面发一个基于nginx的子目录301到其他域名(URL)的规则。作用是例如访问http://blog.jiajieit.net/gq/ (有杠和没杠是不同的,下面的代码中可以看出来),自动301到 http://gq.jiajieit.net 。
下面我来解释一下代码,只是基本的代码。下面“location ~* ^/gq/ {” 里的/gq/是指访问 http://当前域名/gq/ 跳转到新域名的意思,反之把后面的杠去掉就是访问http://当前域名/gq 跳转到新域名的意思。
“rewrite ^/gq/(.*)$”中的/gq/同上。中间的域名是指要跳转的域名或URL。前面的 $ 是指原地址后面的所有路径,后面的 $1 同上,也就是说跳转后所有路径不变,只是前面的域名变了。
location ~* ^/gq/ {
rewrite ^/gq/(.*)$ http://gq.jiajieit.net/$1 permanent;
}
下面说一下使用方法:
进入Linux,找到/usr/local/nginx/conf下的nginx.conf,把代码插入到server片区的location之间,推荐使用SFTP上传和下载。
按上面的格式添加并保存后上传。
最后重启一下nginx;
/usr/local/nginx/sbin/nginx -s reload
2 comments
用上了,很不错的教程。
哈哈,我定向一个到子目录试试,我想做了个音乐分享网站,域名很好。
所以最近也要操作一下另一个域名定向到子目录,但感觉有难度啊,有点晕。