LNMP下带www与不带www的301跳转设置方法
本文所述基于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文件中,最后加上如下代码:
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,这都是在创建主机的时候生成的)。