存档

文章标签 ‘301’

nginx rewrite重写非www前缀域名到www前缀域名

2013年3月5日 6 条评论

一直以来我都是只解析www.nginx.cn,没有启用nginx.cn

早上看到laughing 同学给我发的邮件

直接在浏览器地址栏输入 nginx.cn 无法访问,DNS查找失败,由于您没有对域名做A记录解析 所以无法访问!

强烈建议 站长 对nginx.cn做A记录域名解析 这样可以省去输入www的麻烦,更加人性化 望采纳!!!
----------- laughing 

 

我就像按照nginx 301永久重定向配置 的方法去做

在配置文件中修改配置为

kill -HUP nginx进程id

重启之后打开浏览器访问nginx.cn,一直返回502 bad gateway

开始我以为是nginx.cn的dns解析没生效,ping了一下显示已经解析生效

然后我wget nginx.cn 出现301递归重定向,在循环了20次之后退出


 

 

仔细看了下if的相关文档,我发现if的使用是存在陷阱的:
第一个是,if ($host ~* nginx.cn)会匹配nginx.cn 和www.nginx.cn两个,这样写的结果就是造成上面的结果。
另外一个最重要的原因是,每次请都需要检查if,严重降低nginx的效率。
最好的办法是增加两个server配置

因此我在我的配置中增加了如下配置,就可以使用nginx.cn跳转到www.nginx.cn了。
server {
server_name nginx.cn;
return 301 $scheme://www.nginx.cn$request_uri;
}

分类: nginx 标签: , ,

nginx 301永久重定向配置

2013年1月28日 26 条评论

建站过程中进程会遇到搜索引擎收录带www和不带www的@两个域名的同一站点,影响排名。

这时候我们可以把其中一个域名301永久重定向到另一个域名传递权重,不推荐停止解析其中任何一个。

谷歌对301的反应快一些,百度需要一段时候后才能识别301.

举个例子,最近我想做一个查询域名的站点,我注册了域名findname.cc。

我想主要使用findname.cc,访问www.findname.cc会301跳转到findname.cc
阅读全文...

分类: nginx 标签: ,