.htaccessでErrorDocumentが効かない場合の対処法

  • このエントリーをはてなブックマークに追加

サーバーによっては、デフォルトでいやらしいNot Foundページを用意し、自社サービスへ呼び込もうとしていることがある。

そんな時は、オリジナルの404ページ(401,403,500等も同様)を作るのが得策。

オリジナル404ページを表示させる一番簡単な方法は、.htaccessに以下の記載をする方法。

以下、それぞれの例。

しかし、レンサバの仕様なのかはわからないが、これが効かない場合がある。

そんな時の対処法。

まず .htaccess。
以下のmod_rewriteの記述を加える。

 
そして、404用の際に表示させるファイル(上の例では404.html)の最初の行にでも以下の記述を追加。

とりあえず、自分の環境ではこれでうまくいった。

 
<<追記:特定アドレス以外からのアクセスをはじく場合>>
例えば、WordPressのログインファイル(wp-login.php)を自分のIPアドレス(下の例では○○○.×××.○○○.×××)からのみアクセス可能にしたい場合。

これも通常は、以下のように.htaccessに記述すればOKなのだが、サーバーによってはエラーになるケースがある。

そういう場合は、以下のmod_rewriteの記載をすれば動く(こともある。動かないサーバーもある)。

mod_rewriteを使って、IPアドレスではなく、アクセス元のホスト名で制限したい場合のやり方は、残念ながら未だ見つけられず。

2行目を

のようにしてあげれば良いかと思いきや、これでは私の環境では動かず。
悩ましい。


サブコンテンツ