• 締切済み

.htaccessでリダイレクト

サイトのディレクトリ構造やファイル名を変えたため、 外部からのリンクが切れてしまっています。 .htaccessを設置したディレクトリ以下で ファイルが見つからない場合、TOPページにリダイレクト、 という動作を実現するにはどう記述すれば良いのでしょうか。 TOPページを http://www.hoge.com/ とすると、 とりあえず思いつくのは ErrorDocument 404 / なのですが、404エラーをエラー表示以外の リダイレクトに使うのが正しいのか分かりません。 こういう目的のリダイレクトの書式もあるのでしょうか。 よろしくお願いします。

みんなの回答

noname#191236
noname#191236
回答No.2

こんにちは。 以下のように記述すれば出来ると思います。 ErrorDocument 404 http://www.hoge.com/ 無限ループなどにご注意下さい。(参考URL)

参考URL:
http://mikeneko.creator.club.ne.jp/~lab/web/htaccess/redirect.html#redirect4
  • Lunaria
  • ベストアンサー率69% (101/146)
回答No.1

よくレンタルサーバー等の404エラーページでそういうのを見かけませんか? 借りていた方がサイトを引き払ってしまった後などにアクセスすると、エラー画面が出てページが無い旨を表示したあと、しばらくするとサーバーのトップにジャンプします。 なので、そういう形のものは珍しくはないと思いますよ。 実は私も以前からそういうふうにしてあります。 .htaccessで直接リダイレクトさせるのではなく、ページが削除、または移動された旨を記した404エラーページからmetaタグでサイトのトップにジャンプさせているんですが、最近ちょっといろいろ思い直してまして… 閲覧者の意図しない動作を押し付けるのはどうかということで、404エラーからトップにリンクを貼るくらいのほうがいいんじゃないかと検討中です。 ディレクトリまるごと.htaccessでリダイレクトを設定するなら参考URLをどうぞ。

参考URL:
http://www.shtml.jp/htaccess/redirect.html
infinity
質問者

補足

別途404ページを用意するのもいいのですが、 今回はあくまで.htaccessのみでリダイレクト、 ということで検討しています。 試しに「ErrorDocument 404 /」でやってみたのですが、 URLは元のまま、TOPページが表示されてしまうようです。 ファイルが存在するならそのまま表示、 存在しないならTOPページにリダイレクト、 という動作は.htaccessのみで可能でしょうか、 どのように記述すれば良いでしょうか。 という質問内容でお願いします。

関連するQ&A

専門家に質問してみよう