8

「 http://domain.com」をリダイレクトするにはどうすればよいですか。Nginxで「http://domain.com 」に?

これを行うための推奨される方法は何ですか?正規表現または他のオプションはありますか?

4

2 に答える 2

21

次のスニペットは、ホスト名をハードコーディングすることなく、一般的な方法でこれを実行します(サーバー構成が複数のドメインの要求を処理する場合に便利です)。必要なサーバー定義内にこれを追加します。

if ($http_host ~ "\.$" ){
    rewrite ^(.*) $scheme://$host$1 permanent;
}

これは、末尾のドットが削除されているという事実( Igor Sysoevによって指摘されている)を利用していますが、そうではありません。そのため、ドットを一致させて、リダイレクトに自動的に使用できます。$host$http_host$http_host$host

于 2013-03-17T09:41:00.910 に答える
0

正規表現を使用する必要があります。

server {
    listen       80;
    server_name  domain.com.WHATEVER, domain.com.WHATEVER-2, domain.com.WHATEVER-3;
    rewrite  ^  $scheme://domain.com$request_uri?  permanent;
}

差出人:http ://wiki.nginx.org/HttpRewriteModule

redirect-コード302で一時的なリダイレクトを返します。置換行がhttp://permanentで始まる場合に使用されます-コード301で永続的なリダイレクトを返します

于 2013-03-16T22:19:46.307 に答える