Nginx常用的301重定向规则

技术运维Nginx 386

仅适用于Nginx, Apache请移步: Apache .htaccess 301重定向规则大全,赶紧收藏吧

注意: 所有代码作用范围都在server配置区域中:

server {
   #Rewrite Rules
}

不带www重定向带有www

if ($http_host !~ "^www.towait.com$") {
    rewrite ^(.*) http://www.towait.com$1 permanent;
}

if ($host !~* ^www\.) {
    rewrite ^(.*)$ $scheme://www.$host$1 permanent;
}

带有www重定向不带www

if ($http_host !~ "^towait.com$") {
    rewrite ^(.*) http://towait.com$1 permanent;
}

域名a.com重定向b.com

if ($http_host ~ "^a.com$") {
    rewrite ^(.*) http://b.com$1 permanent;
}

强制HTTPS访问

在服务端配置SSL的情况

if ($scheme != "https") {
    return 301 https://$host$request_uri;
}

在CDN端配置SSL证书的情况

if ($http_x_forwarded_proto = "http") {
              return 301 https://$server_name$request_uri;
        }

Post Comment