暇人じゃない

旧ブログからのリダイレクト設定を行いました/nginx の設定メモ

旧ブログにアクセスされた際のリダイレクト設定を行いました。

例えば、

トップページ
http://cho-co.be/blog

http://hima-j.in/

記事
http://cho-co.be/blog/linux/debian-squeeze-nginx-php-fpm-web-server/

http://hima-j.in/linux/debian-squeeze-nginx-php-fpm-web-server/

と、リダイレクトが行われます。
検索エンジンにとってこれが良い方法なのかは分かりませんが、元々アクセスが無いのでそこまで気にしていません。

ついでに、nginx のリダイレクト設定をメモしておきます。

server {
  # ...

  rewrite ^/blog$ http://hima-j.in/ permanent;
  rewrite ^/blog/(.*)$ http://hima-j.in/$1 permanent;

  # ...
}

rewrite ディレクティブを使用して URL を書き換えています。 rewrite ディレクティブは location コンテキストだけではなく、server コンテキストにも書く事ができるので、無理に location コンテキストに書く必要はありません。

一応解説をすると…

1 行目は /blog でアクセスが来たとき。Location ヘッダに http://hima-j.in/ をセットし、permanent を使用することによってステータスコード 301 (Moved Permanently) で応答を返します。 2行目は /blog/(.*)$ でアクセスが来たとき。/blog/ の後の文字列を http://hima-j.in/ の後にくっつけて1行目の動きをして応答を返します。

引き続きよろしくお願いします。