• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:404エラーのページ作成について)

404エラーのページ作成について

このQ&Aのポイント
  • 404エラーのページ作成についてなのですが、もしかするととても簡単なのかもしれませんが検索をして捜しても見つからなかったので質問させてください!
  • 404エラーに関して.htaccessを使用しリダイレクトする方法はたくさん見つかりました。しかし今回希望しておりますのが、存在しないページのURLがアドレスバーに残ったまま表示はエラーページをしたいということです。
  • 具体的には、例えばサイトURLがhttp://hoge.com/だったとします。そして用意したページがerror.htmlとします。そしてhttp://hoge.com/hogehoge.htmlのように存在しないページにアクセスしたとします。.httaccessを使用してerror.htmlを使用するとすると自動でリダイレクトされアドレスはhttp://hoge.com/error.htmlになります。しかしやりたいのは存在しないページのURLがアドレスバーに残ったまま表示はerror.htmlの表示をしたいと思います。

質問者が選んだベストアンサー

  • ベストアンサー
noname#130824
noname#130824
回答No.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/
taabooo
質問者

お礼

出来ました! ありがとうございます。 おっしゃるとおり絶対パスで指定していました。 本当にありがとうございました。

その他の回答 (3)

  • 0909union
  • ベストアンサー率39% (325/818)
回答No.3

すみません。関係ないIISをリストしたのは、そこに大変わかりやすい解説が付いているからです。 それを読めば、なるほどApacheでも同じ事はできるよね。となる。サーバーから返される変数から判断して、マッピングすればいい。

  • 0909union
  • ベストアンサー率39% (325/818)
回答No.2

IIS http://www.google.co.jp/search?hl=ja&q=IIS+%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%EF%BC%94%EF%BC%90%EF%BC%94&lr=lang_ja このうちのなど http://technet.microsoft.com/ja-jp/library/bb727138.aspx Apache http://www.google.co.jp/search?hl=ja&q=Apache+%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%EF%BC%94%EF%BC%90%EF%BC%94&lr=lang_ja このうちのこれらなど http://httpd.apache.org/docs/2.0/ja/custom-error.html このことですよね。 http://toyota.jp/carlineup/sample これはいくつもやり方があります。404エラーをCGIでひろう方法。そのまえに404ページを書き換えておく事はしっていますよね。 http://ja.wikipedia.org/wiki/HTTP_404 リダイレクトは、CGIでもクライアントサイドスクリプトのJavaScriptからでもできます。 つまり、該当のエラーページを書き換えて、リダイレクト、さらにリダイレクトをTOYOTAはしているわけです。 昔(15年くらい前)、このことを知らない上司に、ユーザー認証が失敗したときに出るわけのわからに英語のページを出すような仕組みにはしてくれるな。などと意味不明の指示があり、企画がだめになった事がある。馬鹿な上司を持つと、ほんと苦労するよ(どうにもでなるのに、その認証方法でやると、それがでると勘違いしていた)。

回答No.1

知識ある方のようですので、下記の例はどうでしょう。 RewriteEngine on RewriteBase / RewriteCond %{REQUEST_URI} "!^/nc/html/htdocs/" RewriteRule "^.*$" "nc/html/htdocs/" [L] あくまでも例ですので、一部は書き換えて下さい。

taabooo
質問者

補足

ご連絡遅くなり申し訳ございません。 私のほうが.htaccessに関しての知識が無く大変申し訳ございませんが実際に.htaccessに書く内容を頂ければ助かります。 知識がないのにわがままなことを申し訳ございませんがよろしくお願い致します。

関連するQ&A