Pocket

サイトクローズに伴う対応

サービスの終わりは儚く哀愁が漂うものです。サービスページのクローズをする時に「サービスが終了しました」的な文言をホームページに表示して、ホームページ以外のページにアクセスした場合、ホームページにリダイレクトするように.htaccessで制御する方法をメモしておきます。

301リダイレクト

本当にシンプルなのですが、以下のように書けばOKです。

3行目の記述は必ず記述します。「ホームページでなければ」という条件なのですが、これが抜けているとホームページにアクセスした時に無限ループに陥ります。

ホームページへのリダイレクトはこれでOKなのですが、例えばホームページでCSSファイルやJavaScriptファイル、画像ファイルなどの読み込みをしていた場合、これらのファイルもリダイレクトされてしまいます。特定のフォルダやファイル(拡張子で分岐など)を対象外にする場合には、ノットイコールの条件を増やしてあげれば良いです。

これでOK。こうやって1行ずつ条件を書いてもよいですが、少なければOR文(|)でまとめてあげてもいいですね。

できた!\(^o^)/
最後に余談なのですが、WordPressでこの設定をするとindex.php(もしくはhome.php)より優先度の高いページテンプレートがあった場合、single.phpやpage.phpが表示されてURLはホームページにリダイレクトされるという摩訶不思議アドベンチャーなことが起こりました。
index.php以外のテンプレートページを削除したらうまくいきました。あ、だけどテンプレートがindex.phpしかないから当たり前といえば当たり前か。