nginx重写不起作用(搭乘Mac OS X上的乘客)

时间:2009-05-19 21:12:57

标签: ruby-on-rails url-rewriting nginx passenger

我在生产中的服务器上有正确重写的nginx。

但是当我尝试在我的本地开发机器(mac)上设置相同的规则时,重写似乎不起作用。

我希望“universitytutor.local”重定向到“www.universitytutor.local”

这是我的nginx.conf

的相关部分
    server{
            listen 80;
            server_name universitytutor.local;
            rewrite ^/(.*) http://www.universitytutor.local/$1 permanent;
    }

    server {
          listen 80;
          server_name www.universitytutor.local *.universitytutor.local;
          root /Users/barmstrong/NetBeansProjects/universitytutor/public;   # <--- be sure to point to 'public'!
          passenger_enabled on;
                rails_env development;
    }

无论我输入“universitytutor.local”还是“www.universitytutor.local”,页面都会正确加载,并且不会重定向。

我有* .universitytutor.local因为我在不同城市使用子域名所以我需要这个,但我想要一个空白的子域名重定向到“www”。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

找到解决方案。我没有正确地重新启动Nginx,所以它没有收到更改。卫生署!

你可以像这样重启

sudo kill `cat /opt/nginx/logs/nginx.pid `
sudo /opt/nginx/sbin/nginx

或将其添加到.bashrc以便于使用

alias nginx_restart='nginx_stop; nginx_start'
alias nginx_start='sudo /opt/nginx/sbin/nginx'
alias nginx_stop='sudo kill `cat /opt/nginx/logs/nginx.pid `'