Nginx: example.com/index.html → example.com/ に301リダイレクト – URL正規化

Nginxを使用したWebサーバーに対して、https://example.com/index.htmlでブラウザアクセスした際に、https://example.com/へ301リダイレクト(Permanent Redirect)する設定を紹介。

*.confファイルの設定例

“return 301 /”の箇所は”return 301 https://example.com;”と指定しても同様の動作となる。尚、locationディレクティブはserverディレクティブに複数記載可能。

設定反映

URL正規化の必要性

Google Analytics等のアクセス解析を設定している場合、複数URL(ここでは/ と /index.html)に同一コンテンツがあると、page view countが別々になることやAnalytics側で下図のような警告を出力する為。

google_analytics_url_reg

WordPress等のCMSを使用している場合は、パーマリンクのリダイレクトはプラグイン等で対応できるが、フルスクラッチの静的webサイトでリダイレクトを行う場合は、Webサーバー側の設定で対応する必要がある。

参考サイト