因为之前一直用的虚拟主机,做301转向很简单,直接在.htacess里边修改或者去CPANEL里边做Redirect就可以了,现在买了VPS,却不知道从何下手,在网上搜索了几篇文章。终于搞明白如何在LNMP环境下配置VPS的301转向了。

我的目的是要把不带 www 的域名转到带 www 的域名上边,例如将 forece.net 转到 wwww.forece.net

用SFTP连接VPS,首先打开/usr/local/nginx/conf/vhost/www.forece.net.conf (这里你会看到自己的域名)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
server
    {
        listen       80;
        server_name www.forece.net;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/wwwroot/forece.net;

        include none.conf;
        location ~ .*\.(php|php5)?$
            {
                try_files $uri =404;
                fastcgi_pass  unix:/tmp/php-cgi.sock;
                fastcgi_index index.php;
                include fcgi.conf;
            }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
            {
                expires      30d;
            }

        location ~ .*\.(js|css)?$
            {
                expires      12h;
            }

        access_log off;
        }

这段代码的最后加入

1
2
3
4
    server {
    server_name forece.net;
    rewrite ^(.*) http://www.forece.net$1 permanent;
    }

大家注意,如果原代码server_name后面有2个地址,包括了不带www的地址,请先删除之!
另外,修改完成后,请重启LNMP。

1
/root/lnmp restart