Nginx配置301重定向,搞定从不带www 301到带www

这个。。。其实阿福觉得这个题目非常的绕。绕的有点头晕。好吧,其实可以不用管后面的,只管前面的。这个问题是一个朋友很久以前问阿福的。具体多久?别问阿福。。阿福这个人懒。

好吧,现在趁着生病,整个人很闲就研究一下。其实这玩意很简单,因为阿福当时告诉他的就是wordpress后台的设置里面设置了url地址的话,他会自动跳转的。不过 那玩意不适合其他程序的,因此还得再根源上入手。

根源就是nginx

而解药呢就是:

rewrite ^/(.*)$ http://www.rffan.info/$1 permanent;

但是怎么服用呢?是外敷还是内服?别急,且听阿福慢慢道来。

上面这个语句就是咱们301的关键点。但是还有一个关键点就是nginx的vhost 配置文件的server字段:

server {

listen:80;

server_name rffan.info www.rffan.info;

}

上面这个字段是一个非常美妙的字段让我们领略到了既能访问www又能访问不带www的好处。但是很可惜SEO的需求,咱们得治了“既”“又”的毛病。既然解药都有了,那么我们为何还在这里扯皮呢?赶紧加进入吧。别急,还有一道关卡,如果单单把上面的rewrite加进入conf的话可能会报错。

server {

listen:80;

server_name rffan.info www.rffan.info;

rewrite ^/(.*)$ http://www.rffan.info/$1 permanent;

}

那么该如何改进呢?加个判断呗~于是乎最终的server字段改动就出炉了。

server {

listen:80;

server_name rffan.info www.rffan.info;

if ($host = ‘rffan.info’){

rewrite ^/(.*)$ http://www.rffan.info/$1 permanent;

}

大功告成,另外玩过C的可别吐槽,虽然nginx是用c编的,但是很可惜他的判断相同还是不相同不是用“==”而是“=”这个很难以置信吧?

}

作者: 阿福

购买时被坑爹的枪手坑了。只知道介绍如何如何的好,不知道介绍其坏处。因此,写此博客,望能给各大网友帮助。

《Nginx配置301重定向,搞定从不带www 301到带www》有9个想法

    1. 😛 但是很多童鞋不一定玩win~~而且玩win的也不一定玩IIS~~好吧。。。其实我这个只是写给玩nginx的看的。毕竟win和linux都能装nginx。

    1. 一般玩vps的都用nginx~~有面板的都用的apache,或者是litespeed都是支持.htaccess的,nginx不支持.htaccess所以会有点麻烦~~

发表评论

电子邮件地址不会被公开。 必填项已用*标注