freemangv 发表于 2010-11-12 01:04:54

我想把所有非www访问都跳转到www访问,应如何更改nginx配置?

比如我目前的服务器可以使用IP访问,可以使用example.com访问。

但我想把这项访问都跳转到www.example.com访问,应该如何更改nginx的配置文件呢?

ljb0901 发表于 2010-11-12 09:33:41

添加重写规则,重启lnmp就可以。

licess 发表于 2010-11-12 10:19:09

回复 1# 的帖子

如果你是/root/vhost.sh 添加的域名则在/usr/loca/nginx/conf/vhost/域名.conf 否则就是/usr/local/nginx/conf/nginx.conf
看你的情况能用IP直接访问应该就是/usr/local/nginx/conf/nginx.conf
将server_name 修改为 www.example.com example.com
保存,重启nginx即可。

freemangv 发表于 2010-11-13 20:19:03

感谢licess,不过不能生效,通过IP和example.com任然能够访问网站,后来又找了好多地方,终于解决了问题,在/usr/local/nginx/conf/nginx.conf配置文件中加上:(注意:example.com需要改为你的域名)

                if ($host != 'www.example.com' ) {
                rewrite    ^/(.*)$    http://www.example.com/$1    permanent;
                }

然后执行:
kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
命令从新载入配置文件。

[ 本帖最后由 freemangv 于 2010-11-14 13:21 编辑 ]

AIXUAN99 发表于 2010-11-13 22:15:43

:lol :lol :lol 把我的问题也解决了,我说怎么一直没用,原来要重启

freemangv 发表于 2010-11-14 12:03:57

原帖由 AIXUAN99 于 2010-11-13 22:15 发表 https://bbs.vpser.net/images/common/back.gif
:lol :lol :lol 把我的问题也解决了,我说怎么一直没用,原来要重启
你用的是哪个方法?

我倒是没有重启,一直使用
kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
命令从新载入配置文件。

Bigcar 发表于 2010-11-14 12:28:33

4楼方法有效果 ,已经实践了
页: [1]
查看完整版本: 我想把所有非www访问都跳转到www访问,应如何更改nginx配置?