本文所述基于Centos的VPS(LNMP)环境。域名以liaoweitong.cn为例。
实现效果:不带www的域名,自动跳转到带www的域名。(例如:输入liaoweitong.cn,自动跳转到www.liaoweitong.cn。)
为了保证网站能够拥有统一的地址,以及对搜索引擎友好(SEO),我们常常需要设置域名带www为标准网址。这时候需要使用301永久重定向。
在LAMP中是使用.htaccess文件放置在网站根目录的方法来达到伪静态和域名重定向,在LNMP中则需要修改.conf文件。
.conf文件放在 /usr/local/nginx/conf/vhost/ 目录中,以你建立主机时候设置的域名为文件名,例如:/usr/local/nginx/conf/vhost/www.liaoweitong.cn.conf 。
登录VPS后,使用 vi /usr/local/nginx/conf/vhost/www.liaoweitong.cn.conf 即可进入编辑.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.liaoweitong.cn; index index.html index.htm index.php default.html default.htm default.php; root /home/wwwroot/www.liaoweitong.cn; include wordpress.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; } |
在.conf文件中,最后加上如下代码:
1 2 3 4 |
server { server_name liaoweitong.cn; rewrite ^(.*) http://www.liaoweitong.cn$1 permanent; } |
VI修改.conf文件操作方法:
进入VI后,首先按【Insert】,用上下左右丁文光标到需要修改的地方(本文是到最下面),输入内容。完成后按【ESC】、【:】、【wq】,回车即可退出并保存编辑文件。
修改完成后,需要重新启动一下LNMP,命令如下:
1 |
/root/lnmp reload |
现在输入不带www的域名,是不是自动跳转了呢?
同样的,如果需要设置带www跳转到不带www的域名,也是如此设置,变为:
1 2 3 4 |
server { server_name www.liaoweitong.cn; rewrite ^(.*) http://liaoweitong.cn$1 permanent; } |
当然,文件中的第4行、第6行相应的,就不带www(无论带或不带www,这都是在创建主机的时候生成的)。