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 に答える