301重定向是很常见的需求,比如访问 nowamagic.net,自动跳到 www.nowamagic.net。或者倒过来,访问 www.nowamagic.net 跳到 nowamagic.net。Nginx 中配置 301 重定向(301 redirect)很容易,下面介绍下方法。


打开 nginx.conf 文件,找到你的 server 配置段:


server {

    listen       80;

    server_name  nowamagic.net www.nowamagic.net;

    #server_name localhost;

    if ($host != 'www.nowamagic.net' ) {

        rewrite ^/(.*)$ http://www.nowamagic.net/$1 permanent;

    }

}

如果访问的 URL 是不带 www 的地址,则跳到带 www 的 URL 上面去。即让不带 www 的域名跳转到带 www 的域名。


或者单独为不带 www 的 URL 单独设一条 server 规则:


server {

    server_name  nowamagic.net;

    rewrite ^(.*) http://www.nowamagic.net$1 permanent;

}

把 nginx.conf 上传,再 nginx -s reload 即可。Nginx 的 301 配置还是很简单的。