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

赞 (0)

评论 9

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. 小鬼哥小鬼哥只会用IIS里面的跳转,很简单的回复
    • 阿福😛 但是很多童鞋不一定玩win~~而且玩win的也不一定玩IIS~~好吧。。。其实我这个只是写给玩nginx的看的。毕竟win和linux都能装nginx。回复
  2. 阿修用的别人给的修改.htaccess文件的方法实现的301跳转: http://www.xiuliinlove.com/jianzhan/53.html 这个代码是亲测通过的,之前试过很多的.htaccess修改代码都行不通。回复
    • 阿福一般玩vps的都用nginx~~有面板的都用的apache,或者是litespeed都是支持.htaccess的,nginx不支持.htaccess所以会有点麻烦~~回复
      • 阿修不要拿vps欺负人 🙁回复
        • 阿福o(╯□╰)o回复
        • 阿福好吧,我错鸟。。回复
  3. 明修网络博客这个还是比较有用,有利于网站的seo回复
    • 阿福呵呵,现在无所谓了。SEO不SEO,百度也不关注了,人们也不关注了~回复