部署 www.xxx.com 怎么 301 定位到 xxx.com

zealinux · 2013年01月07日 · 最后由 ywencn 回复于 2013年01月08日 · 26916 次阅读

服务器使用的是 nginx+passenger

现在在外面看起来一个 ip 地址挂了两个服务器。 一个带有 www,二级域名,另一个不带。

这个该怎么配置

Nginx 配置

server {
  listen 80;
  location / {
    rewrite  ^/(.*)$  http://ruby-china.org/$1  permanent;
    proxy_set_header Host "ruby-china.org";
  }
}

再提供一个备选

server {
    listen    80;
    server_name ruby-china.org;
    rewrite ^ http://www.ruby-china.org$request_uri? permanent;
}

# other server...
server {
    listen 80;
    server_name www.ruby-china.org;
    ....
}

@huacnlee 这一个出问题,“发生太多重定向”

server {                                                                                                                                                                                               
    listen 80;
    server_name www.xxx.com;
    rewrite ^/(.*) http://xxx.com/$1 permanent;                                                                                                                                                   
 }  

@quakewang 还是不行 @wppurking bingo! 成了

谢谢大家。

哦,对了,我忘了说明了,我那个这么写是为了让 IP 以及其他一些未定义的域名的访问也 301 到 ruby-china.org

@huacnlee 你那个需要有个 default 的 server block 去匹配不转向的那个域名

的确,我的配置使用的是 listen 80 default; 让他匹配 IP 过来的请求

你域名真好啊

需要 登录 后方可回复, 如果你还没有账号请 注册新账号