制作会社などに勤めずに直接フリーランスになられる方も増えてきた昨今、制作はできるけども細かいテクニックを知らないという方も多く見かけますので、今回は必ずサイトを公開した際には設定を行う404・403リダイレクトの小技を紹介したいと思います。
まずはhtaccessにする記述方法
ErrorDocument 404 /error/
ErrorDocument 403 /error/
エラーページを制作している場合は上記のような形で、htaccessの中でErrorDocument 40xの右側にパスを記述することで、存在しないURLを打たれてしまっても、記述されているパスへとリダイレクトされるようになります。
1枚物のサイトの場合
ErrorDocument 404 /
ErrorDocument 403 /
LPや予算削減の為にエラーページを用意しない場合、取り急ぎ1枚だけ会社概要が乗っているページを作るときなどは、TOPにリダイレクトされる「/」のみで記述される方もおおいのではないかと思います。
パスの記述の仕方で挙動が変わる
相対パスで記述した場合と、絶対パスで記述された場合では、URLの表示方法などが変わります。
相対パスで記述の場合の動き
ErrorDocument 404 /error/
相対パスで記載した場合は、打たれたURLはそのまま表示されている画面のみ指定されたパスのページが表示されるようになります。
打たれたURL
https://www.exanple.com/abcd/efg/
↓
表示されるURL
https://www.exanple.com/abcd/efg/
メリット
実際にエラーページが作成してあるディレクトリがエンドユーザーからはわからないようになります。
デメリット
エラーページを作成した際に相対パスで制作されている場合、インクルードしているファイルや画像などを読み込んでいる部分など、デッドリンクになってしまいます。
※相対パスの場合は「./」は使わずに「/」で記載すれば解決することができます。
絶対パスでの記述の場合の動き
ErrorDocument 404 https://www.exanple.com/error/
絶対パスで記載した場合は、実際にURLごとリダイレクトされる形になります。
打たれたURL
https://www.exanple.com/abcd/efg/
↓
表示されるURL
https://www.exanple.com/error/
メリット
エラーページの内容が相対パスで作られていたとしても崩れることなく表示されます。
デメリット
エンドユーザーにもどのディレクトリでエラーページが作成されているかがわかります。
まとめ
私は普段相対パスで使用していますが、なにかしらのシステムや、解析ツールなどの導入などの兼ね合いによって、調節したことが過去に何回かあります。
なにかしらエラーページについてスムーズにいかない事などがあったら、絶対・相対を入れ替えて使用してみてもいいかもしれません。