本文所述基于Centos的VPS(LNMP)环境。域名以ituibar.com为例。
一、实现效果:不带www的域名,自动跳转到带www的域名。(例如:输入ituibar.com,自动跳转到www.ituibar.com)
为了更好的提高网站的权重,以及对搜索引擎友好(SEO),我们常常需要设置域名带www为标准网址。这时候需要使用301永久重定向。
在LAMP中是使用.htaccess文件放置在网站根目录的方法来达到伪静态和域名重定向,而在LNMP中不能建立.htaccess文件,只能修改.conf文件。
.conf文件放在 /usr/local/nginx/conf/vhost/ 目录中,以你建立主机时候设置的域名为文件名,例如:/usr/local/nginx/conf/vhost/ituibar.com.conf 。
登录VPS后,使用 vi /usr/local/nginx/conf/vhost/ituibar.com.conf 即可进入编辑.conf文件状态。
打开文件后可以看到文件内容大致如下:
server
{
listen 80;
server_name www.ituibar.com ituibar.com;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/ituibar.com;
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;
}去掉第4行“ server_name www.ituibar.com ituibar.com;” 中的ituibar.com
然后在在.conf文件中,最后加上如下代码:
server {
server_name ituibar.com;
rewrite ^(.*) http://www. ituibar.com$1 permanent;
}修改完成后,需要重新启动一下LNMP,命令如下:
/root/lnmp reload
二、实现效果:带www的域名,自动跳转到不带www的域名。
去掉第4行“ server_name www.ituibar.com ituibar.com;” 中的www.ituibar.com
然后在在.conf文件中,最后加上如下代码:
server {
server_name www. ituibar.com;
rewrite ^(.*) http:// ituibar.com$1 permanent;
}修改完成后,需要重新启动一下LNMP,命令如下:
/root/lnmp reload
至于怎么编辑www.ituibar.com.conf文件,你用winscp可以,直接在命令行用vi也可以。


我算是发现了,凡是一个操作都能写一篇文章。
呵 有些以后需要用到的东西,得记录下来,要不就忘了。
我用的BAE做重定向,不占用自己的资源
这个bae怎么做呢?
求指点哈。
不过我使用站长工具查了一下,发现我的域名竟然都是301重定向过的,可是我也没有怎么设置。