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の表示をしたいと思います。
回答を見る
  • ベストアンサー

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

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のサイトなどがやっています。 上記のやり方を教えていただければと思います。 お手数おかけしますがよろしくお願い致します。

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

  • ベストアンサー
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

  • 404ページなどのエラーページのURLについて

    ロリポップにてサイトを作っているのですが、404エラーが起きたときに、 URLがたとえば「hoge.jp/naiyo」という存在しないファイルにアクセスしたときに、私の場合表示されるだけでなく、「hoge.jp/404」というエラーページにURLが移動してしまうのですが、OKWaveなどのサイトを見てみると、URLは移動しません。 どうすればURLをそのままでエラーページを表示できるでしょうか? ちなみにエラーページ表示のhtaccessの内容は 「ErrorDocument 404 http://hoge.jp/404」 と設定しました。

  • アドレスバーにトップページを固定表示

    通常、トップページと言うと ~hoge.com や ~hoge.com/index.html とアドレスバーに表示されると思うのですが、 どのページにアクセスしてもアドレスバーの表示を 『http://www.hoge.com』 という風に固定したいのですが、どのようにすれば出来るのでしょうか。 .htaccess や cgi などで記述すればいいのでしょうか。 どうぞ宜しくお願いします。

    • ベストアンサー
    • HTML
  • .htaccess エラーページについて

    .htaccessでエラーページを自作のものになるよう設定したいのですが、上手くできず、困っています。 自作したのは404と403のみ。 ErrorDocument 403 絶対パス ErrorDocument 404 絶対パス という記述です。 確認したところ404エラーページは難なく表示されるのですが、403に関しては再読み込みしないと自作のものにならず、「~を開こうとして多くのリダイレクトが発生しています。あるページへのリダイレクトが設定されているページを開いたときに、リダイレクト先のページから元のページにさらにリダイレクトが設定されている場合にこうした現象が起きる場合があります。」というページになり、リダイレクトループしてしまっているようなのです。 使用サーバーはロリポップ ブラウザはsafariです。 解決法又は原因など教えて下さると助かります。 よろしくお願いいたします。

  • METAタグのrefreshでサイト引越し

    サイトを移転したいと思っています。 その際、リダイレクトしたいのですが、 .htaccessが使えないので、METAタグを使ってリダイレクトしたいと思っています。 初めての経験でよくわからないのですが、 ページランク等は引き継げるのでしょうか…。 又、アップしている全てのページにMETA refreshタグを付ければよいのでしょうか。 それともトップページだけに付ければよいのでしょうか。 もし全てのページにMETA refreshを付けるとすると 現トップページ hogehoge.com/hoge/ ↓ 転送先 mokemoke.com/ トップページ以外のページは hogehoge.com/hoge/aaa.html ↓ トップページに転送せずに各々のページへ転送 mokemoke.com/aaa.html このようにすればよいのでしょうか。 あまり詳しくないので困っています。 又、META refreshを使う上で気をつけるべき点があれば 教えていただけると幸いです。 間違えると正しくページランク等を引き継げないと聞いたので、不安です。 どなたか詳しい方、よろしくお願いします。

    • ベストアンサー
    • HTML
  • .htaccessでリダイレクト

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

  • あるページだけがインデックスされない

    自分のWebサイト(HTMLの手更新)で、 hogehoge.com/hoge/no001.html hogehoge.com/hoge/no002.html hogehoge.com/hoge/no003.html といったナンバリングでHTMLファイルを管理しているところがあります。 上記のページは、【サイト名+各ページのh2タグ名(全て日本語の固有名詞)】でぐぐると1~5番目に表示されます。 しかし、ある1ページだけはぐぐっても全く出てきません。 その固有名詞が他と違いがあるわけではありません。 どういうふうにしたらGoogleにインデックスされるでしょうか。

    • ベストアンサー
    • SEO
  • サイトリニューアルに伴うURL変更について

    SEOを意識して今まで運営してきたサイトがあるのですが、わけあってサイトをリニューアルすることになりました。 その際、ドメインは変わらないのですが、以下のようにSEO対策していたページのURLを変更しなくてはなりません。 旧URLから新URLへSEOのパワーを引継ぐための施策で考えられる方法をできるだけ多く教えていただけませんでしょうか? ※ちなみにディレクトリ名だけ変わる場合と、.htmlに対してSEOをしていたものをディレクトリで終わるURLにしたものと2パターンについて教えてください。 よろしくお願いいたします。 (1)ディレクトリ名のみ変更 旧URL⇒http://hogehoge.com/hoge1/hoge2/ 新URL⇒http://hogehoge.com/hoge1/aa_hoge2/ (2).htmlのページ⇒ディレクトリで終わるURL 旧URL⇒http://hogehoge.com/hoge1/hoge2/hoge3.html 新URL⇒http://hogehoge.com/hoge1/aa_hoge2/hoge3/

    • ベストアンサー
    • SEO
  • 「cgi-bin」で403エラーが出ます

    いま運営中のサイトで発生するエラーの原因が分かりません。 運営しているURLが http://www.gehogeho.com/ とすると http://www.gehogeho.com/cgi-bin/ のURLにアクセスすると403エラーが発生します。 http://www.gehogeho.com/ の直下に「cgi-bin」というディレクトリは存在せず、cgiも使っていません。(サイト自体はApacheとPHPで動いています。) 存在しないURLにアクセスされた場合は全てホームにリダイレクトするように.htaccessで設定しています。 原因と回避方法がわかる方がいらっしゃいましたらお願いいたします。

  • .htaccessでリダイレクト先を指定したい

    初めまして、ご質問させていただきます。 現在新しいホームページを作っていて、 サイトにアクセスしたIPアドレスで表示先を切り替えたいのですが .htaccessのリダイレクト指定で可能なのでしょうか? 例えばhttp://www.hogehoge.com/にアクセスした場合 ↓ 【アクセスが自分以外のPCの場合】 http://www.hogehoge.com/index.html 【アクセスが自分のPCの場合】 http://www.hogehoge.com/index.php ネットで調べていて.htaccessという存在を知り、 色々と調べてみて、分からなかったので質問させていただきました。 参考箇所↓ http://www.shtml.jp/htaccess/redirect.html よろしくお願いいたします。

  • htaccessでfirefoxのみエラーページに飛んでくれない

    サイトのトップディレクトリに.htaccessを設置しfirefoxのユーザーエージェントをはじいています。 自作のエラーページをerrというディレクトリの403.htmというファイルに飛ぶようにしています。 errディレクトリに.htaccessを設置し全て許可する設定にしています。 次のようなディレクトリ構成です。 http://xxxxx.com/.htaccess←firefoxのエージェントをはじく、403エラーはerr/403.htmに飛ばす http://xxxxx.com/err/.htaccess←全てのアクセスを許可 http://xxxxx.com/err/403.htm←403エラーの場合表示させる firefoxでhttp://xxxxx.com/にアクセスすると403エラーのページが表示されずapachの画面が表示されてしまいます。 http://xxxxx.com/err/403.htmにアクセスすると自作の403ページが表示されます。