0

我有 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”。

有任何想法吗?

4

1 回答 1

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 `'
于 2009-05-23T20:00:46.550 回答