重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

404エラーのページ作成についてなのですが、もしかするととても簡単なのかもしれませんが検索をして捜しても見つからなかったので質問させてください!

404エラーに関して.htaccessを使用しリダイレクトする方法はたくさん見つかりました。
しかし今回希望しておりますのが、

例えばサイトURLが
http://hoge.com/
だったとします。

そして用意したページが
error.html
とします。

そして
http://hoge.com/hogehoge.htmlのように存在しないページにアクセスしたとします。
.httaccessを使用してerror.htmlを使用するとすると自動でリダイレクトされアドレスは
http://hoge.com/error.htmlになります。

しかしやりたいのは存在しないページのURL(ここでいいますhttp://hoge.com/hogehoge.html)がアドレスバーに残ったまま表示はerror.htmlの表示をしたいと思います。

実際にTOYOTAのサイトなどがやっています。

上記のやり方を教えていただければと思います。

お手数おかけしますがよろしくお願い致します。

A 回答 (4件)

.httaccessでhttpから指定していないですか?



ErrorDocument 404 http://hoge.com/error.html
これだとリダイレクトされます。

ErrorDocument 404 /error.html
で通常はリダイレクトされずにエラーページの内容が表示されます。


RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ error.html [L]
でも可能です。
参考:http://webings.net/htaccess/rewriteerror/

参考URL:http://webings.net/htaccess/errordocument/
    • good
    • 0
この回答へのお礼

出来ました!

ありがとうございます。

おっしゃるとおり絶対パスで指定していました。

本当にありがとうございました。

お礼日時:2011/03/30 23:20

すみません。

関係ないIISをリストしたのは、そこに大変わかりやすい解説が付いているからです。

それを読めば、なるほどApacheでも同じ事はできるよね。となる。サーバーから返される変数から判断して、マッピングすればいい。
    • good
    • 0

IIS


http://www.google.co.jp/search?hl=ja&q=IIS+%E3%8 …

このうちのなど
http://technet.microsoft.com/ja-jp/library/bb727 …

Apache
http://www.google.co.jp/search?hl=ja&q=Apache+%E …

このうちのこれらなど
http://httpd.apache.org/docs/2.0/ja/custom-error …

このことですよね。
http://toyota.jp/carlineup/sample

これはいくつもやり方があります。404エラーをCGIでひろう方法。そのまえに404ページを書き換えておく事はしっていますよね。

http://ja.wikipedia.org/wiki/HTTP_404

リダイレクトは、CGIでもクライアントサイドスクリプトのJavaScriptからでもできます。

つまり、該当のエラーページを書き換えて、リダイレクト、さらにリダイレクトをTOYOTAはしているわけです。

昔(15年くらい前)、このことを知らない上司に、ユーザー認証が失敗したときに出るわけのわからに英語のページを出すような仕組みにはしてくれるな。などと意味不明の指示があり、企画がだめになった事がある。馬鹿な上司を持つと、ほんと苦労するよ(どうにもでなるのに、その認証方法でやると、それがでると勘違いしていた)。
    • good
    • 0

知識ある方のようですので、下記の例はどうでしょう。



RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} "!^/nc/html/htdocs/"
RewriteRule "^.*$" "nc/html/htdocs/" [L]

あくまでも例ですので、一部は書き換えて下さい。

この回答への補足

ご連絡遅くなり申し訳ございません。

私のほうが.htaccessに関しての知識が無く大変申し訳ございませんが実際に.htaccessに書く内容を頂ければ助かります。

知識がないのにわがままなことを申し訳ございませんがよろしくお願い致します。

補足日時:2011/03/30 03:39
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!