nginx子目录301重定向到其他域名URL

 

今天找了找网上的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子目录301重定向到其他域名URL_域名重定向

按上面的格式添加并保存后上传。

最后重启一下nginx;

/usr/local/nginx/sbin/nginx -s  reload

http://blog.jiajieit.net/tag/nginx/