nginxでリダイレクトの設定

2018年11月18日Webサイト

本ブログは、Webのルートディレクトリではなく/blogの階層に配置しています。

まだ、このブログ以外のコンテンツがありませんので、Webサイトトップページにアクセスした場合に本ブログへリダイレクトするように設定してみました。

具体的には、
https://astherier.com
にアクセスいただいた場合、
https://astherier.com/blog
へ転送(301でリダイレクト)するようにnginxを設定してみました。

/etc/nginx/nginx.conf には、

http {
中略
include /etc/nginx/conf.d/*.conf;
}

と設定してありますので、conf.d内のファイルをいじることにします。

/etc/nginx/conf.d/default.conf の中の、当該serverコンテキスト(ルートディレクトリへのアクセスを処理するコンテキスト)に対し、下記のようにlocationディレクティブを追記します。

server {
中略
location = / {
return 301 https://$host/blog;
}
}

locationの次のイコール記号は、完全一致を示します。つまり、ルートディレクトリにアクセスしたときのみ、このlocationディレクティブが機能します。中身は、閲覧者に対してHTTPステータスコード301(Moved Permanently)を返す指示で、これによって/blogのページへ転送することができます。

このlocationディレクティブは完全一致でパスを指定していますので、ルートディレクトリにあるファイルへのアドレスを直接入力した場合は、そのままアクセスできます。