当前位置: > Linux服务器 > nginx >

nginx配置301永久重定向

时间:2015-06-28 20:31来源:linux.it.net.cn 作者:IT
it.net.cn在上线聚客时发现google收录了一些本来该是在主域名it.net.cn下的网址,却收录到了linux.it.net.cn域名下了,最好的办法是在nginx配置中将这些地址重定向到主域名。

nginx中可以通过redirect配合正则表达式来配置重定向,如下是linux.it.net.cn域名的重定向配置:

server {
        #listen   80; ## listen for ipv4; this line is default and implied
        #listen   [::]:80 default ipv6only=on; ## listen for ipv6
        listen  80;
        server_name linux.it.net.cn;

        rewrite ^(/(user|code-snippet)/.*) http://it.net.cn$1 permanent;
        rewrite ^(/tag/p\d+) http://it.net.cn$1 permanent;

       #其他和重定向无关的配置省略了
}上面配置了两种重定向,一种是以/user或者/code-snippet开头的重定向到http://it.net.cn下,并将路径通过$1传过去。第二种重定向是符合/tag/p数字的路径也做同样的重定向处理。

通过nginx的301重定向还可以做整站的重定向,这在切换域名时很有用,如下是相关的配置:

假定某网站之前使用的域名是www.A.com要将此域名下的内容完全重定向到www.B.com下

server {
     server_name www.A.com ;
    rewrite ^(.*) http://www.B.com$1 permanent;
}另外有时候还会遇到将A.com域名下的内容全部重定向到带www的域名下,配置也很简单:

server {
    server_name A.com;
    rewrite ^/(.*) http://www.A.com/$1 permanent;
} (责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容