LNMP环境下实现301重定向最有好的办法

假如我们以www.252300.net为主域名,解决的办法如下:
怎么用301重定向把带www和不带www的网址合并,因为我装的是LNMP0.5,是Nginx环境。
实现的方法是:
打开/usr/local/nginx/conf/vhost下相应的.conf文件,原代码如下:
server
{
listen? ?? ? 80;
server_name www.252300.net 252300.net;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/www.252300.net;? ?include none.conf;
location ~ .*.(php|php5)?$
{
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;
}

 

把这里server_name www.252300.net 252300.net; 的252300.net删除掉,
然后在代码的最下面再加上一个server段:
server {
server_name 252300.net;
rewrite ^(.*) http://www.252300.net$1 permanent;
} 最后得到的完整代码是:
server
{
listen? ?? ? 80;
server_name www.252300.net;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/www.252300.net;? ?include none.conf;
location ~ .*.(php|php5)?$
{
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;
}

server {
server_name 252300.net;
rewrite ^(.*) http://www.252300.net$1 permanent;
}

修改完以后,别忘了重启一下lnmp ,/root/lnmp stop ,? /root/lnmp start

注意别忘了}符合,不然无法启动lnmp

说说方法吧,具体的Lnmp安装就不说了,我也不精。301重定向主要是修改nginx的核心变量,目标网站的conf文件server函数。

 

 

比如现在需要把252300.net重定向到www.252300.net,修改代码如下:

server {
server_name www.252300.net 252300.net;
if ($host != ‘www.252300.net’ ) {
rewrite ^/(.*)$ http://www.252300.net/$1 permanent;
proxy_set_header Host “www.252300.net”;
}

}

把域名换成你的,就可以了。需要注意的地方有两个:

1.permanent这个是关键,表示永久定向;

 

2.下面这段代码的作用:

 

proxy_set_header Host “www.252300.net”;

 

 

这段代码可以加可以不加,但是效果是不一样的。如果没加不管输入252300.net还是252300.net/server/Nginx,都会跳转到www.252300.net;加了之后输入252300.net转到www.252300.net,输入252300.net/server/Nginx/LNMP%20Nginx301.html则转到www.252300.net/server/Nginx/LNMP%

 

 

20Nginx301.html大家可以根据自己的需求选择加还是不加这段代码。

 

 

后记:经过测试,加了代码proxy_set_header Host “www.252300.net”;测试会出现错误,不加这段内页一样可以跳转到内页。特此声明!

 

注:由于编辑器原因,如果复制代码过程中出现中文符号如“,请统统改成英文符号”,不然修改不成功。

为您推荐