0

ここに私の設定ファイルがあります:

    server {
    listen   80;
    server_name moule-a-manque.com;
    access_log /var/log/nginx/myvps.com.access.log;
    error_log /var/log/nginx/myvps.com.error.log;
    client_max_body_size 4M;
    client_body_buffer_size 128k;
    expires off;

rewrite http://www.moule-a-manque.com http://moule-a-manque.com permanent;

    location / {
    root   /var/www/mom;
    index index.html index.php;
    }

私はそれがうまくいくはずだと思っていましたが、http://nibbler.silktide.com/reports/moule-a-manque.comで確認すると、リダイレクトが機能していないようです。

私はこれを正しくやっていますか?もしそうなら、301リダイレクトが実際に機能していることを確認するにはどうすればよいですか

4

1 に答える 1

2

nginx の rewrite ディレクティブは、ホスト名ではなく、URL のパス部分のみに一致します。no-www を強制しようとしているようです。これは、2 番目のサーバーを使用することで実現されます。{}

server {
  server_name www.moule-a-manque.com;
  rewrite ^ http://moule-a-manque.com$request_uri? permanent;
}

server {
  listen   80;
  server_name moule-a-manque.com;
  access_log /var/log/nginx/myvps.com.access.log;
  error_log /var/log/nginx/myvps.com.error.log;
  client_max_body_size 4M;
  client_body_buffer_size 128k;
  expires off;

  root   /var/www/mom;
  index index.html index.php;
}

さらに、ルートを場所の外に設定することをお勧めします。http://wiki.nginx.org/Pitfallsを参照してください。

于 2012-04-28T13:16:07.837 に答える