htaccessでのErrorDocumentが出来ない…

このQ&Aのポイント
  • 初めての質問なので、おかしな所があったら突っ込んでやってくださいm(_ _)m サーバーはApacheの2.0.53を使っています。OSはWindowsXPです。
  • htaccessのErrorDocumentを使って、エラーページに自分で作ったものを表示させようと思ったのですが、500の内部エラーがでてしまいました。
  • htaccess自体はホスト制限の order allow,deny allow from all deny from ---.---.--.--等の設定で動作してるのでhtaccessが使えないということは無いと思います。 Apacheのエラーログには ErrorDocument not allowed here と表示されていますが、いまいち理解ができなくて困っています。何か手がかりだけでもいいので教えてもらえないでしょうか?お願いしますm(_ _)m
回答を見る
  • ベストアンサー

htaccessでのErrorDocumentが出来ない…

初めての質問なので、おかしな所があったら突っ込んでやってくださいm(_ _)m サーバーはApacheの2.0.53を使っています。 OSはWindowsXPです。 htaccessのErrorDocumentを使って、エラーページに自分で作ったものを表示させようと思ったのですが、500の内部エラーがでてしまいました。 「ErrorDocument 404 /404.html(改行)」 という設定で、404.htmlファイルはhtaccessと同じディレクトリにおいてあります htaccess自体はホスト制限の order allow,deny allow from all deny from ---.---.--.-- 等の設定で動作してるのでhtaccessが使えないということは無いと思います。 Apacheのエラーログには ErrorDocument not allowed here と表示されていますが、いまいち理解ができなくて困っています。 何か手がかりだけでもいいので教えてもらえないでしょうか?お願いしますm(_ _)m

  • AkaG
  • お礼率100% (1/1)

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

  • ベストアンサー
  • zem
  • ベストアンサー率70% (51/72)
回答No.1

こんにちは。初期状態ではどこでも .htaccess が使えるような設定にはなっていません(セキュリティ上の理由によるもの、のようです)。 apache の設定ファイル httpd.conf をまず開いて、設定を変更します。ドキュメントルートの指定が<Directory ~>という行を探していくと見つかると思います。初期設定では、  AllowOverride None となっていて、.htaccess の利用が許可されていません。この部分を、  AllowOverride All このように None から All に書き換えて、Apache の再起動をすると .htaccess が使えるようになります。エラーログの意味は「 .htaccess の利用が制限されていて、ErrorDocument は使えませんよ」という内容です。 .htaccess を使わない方法として、直接 httpd.conf 中に ErrorDocument ~の記述を行っても大丈夫です。

AkaG
質問者

お礼

(」゜ロ゜)」(」゜ロ゜)」(」゜ロ゜)」オオオオオッッッ 回答ありがとうございます! AllowOverrideの設定を見たところ AuthConfig:ユーザー認証のコントロールコマンドのみ記述を許可 になっていました! Allに直したらできました。 本当にありがとうございました(`・ω・´)

関連するQ&A

  • .htaccessで困ってます

    .htaccessで携帯のIPのみ接続を許可しています 現在の設定は ------------------------------ order deny,allow deny from all #docomo allow from 210.153.84.0/24 #ezweb allow from 210.169.40.0/24 #softbank allow from 123.108.236.0/24 #willcom allow from 61.198.142.0/24 ErrorDocument 403 http://転送先 #自分のIP allow from ○.○.○.○ ------------------------------- ※docomoとかのIPリストは省略してます これにクローラーのIPを許可させようとすると 500エラーになってしまいます どこがダメなのでしょう・・・? ------------------------------ order deny,allow deny from all #docomo allow from 210.153.84.0/24 #ezweb allow from 210.169.40.0/24 #softbank allow from 123.108.236.0/24 #willcom allow from 61.198.142.0/24 ErrorDocument 403 http://転送先 #自分のIP allow from ○.○.○.○ #クローラー allow from△.△.△.△/△ ------------------------------- #自分のIP allow from ○.○.○.○ で許可されていたので、もう1つ追加した形なのですが・・ △/△という指定方法で許可する事は難しいですか?

  • .htaccessで403error時に表示するページの設定

    現在、.htaccessで403エラーになったときに表示されるページの設定をしているのですが、 作成した403用のページを表示できず、ブラウザのデフォルト403ページが表示されてしまっています。 .htaccess自体は正常に動作しているのを確認しているため、 ErrorDocumentに関連する記述が誤っていると思うのですが、どこがおかしいのかが分かりません。 どうぞご教授お願いいたします。 なお、403時に表示されるページのアドレスは、(サイトURL)/error/403.html、すでにサーバー上にアップ済です。 下記が現在記述している.htaccessになります。 AddHandler cgi-script htaccess SetEnvIf Accept-Language ko Lilith SetEnvIf Accept-Language en Lilith ErrorDocument 403 /error/403.html Order Allow,Deny Allow from all deny from env=Lilith deny from .ed.jp deny from .ac.jp

  • .htaccessファイル

    ロリポップでサーバーをレンタルしています。 エラー表示画面を自作で作り 「ErrorDocument 404 http://xxx.xx.jp/error/404.html」 上記内容で.htaccessファイルを作り使用しています。 このような状況の中、 最近海外からの妙なアクセスが増えて来たので制限をかけたいのですが、 現在の↑.htaccessのファイルに下記のようにそのまま続けて書いて行ってよいのでしょうか? (↓.htaccessでjpドメイン以外を弾く) order deny,allow  deny from all    allow from .jp ・エラー表示は今まで通りそのまま使いたい ・アクセス制限をかけたい 以上、 書き方が分からず悩んでいます。 ご教示お願いいたします。。

  • htaccess??

    .htaccessを設置したいのですが、.htaccessではいろいろな条件を拒否したり許可したりできますよね? たとえば、指定したホストからのアクセスを拒否したい、と同時に画像の直リンクを防ぎたい。という場合、どう表記すればいいのでしょうか? order allow,deny deny from all deny from xxxxx(拒否したいホスト) deny from xxxxx SetEnvIf REFERER "xxxxx(自サイトのURL )" Ref1↓ Order Deny,Allow↓ Deny from all↓ Allow from env=Ref1↓ AddHandler cgi-script htaccess とこんな感じでつらつらと並べていいものでしょうか? 初歩的な質問でごめんなさい。 良かったら教えてください。

  • .htaccessは2つ置けないんでしょうか?

    携帯サイトをロリポップにて作成しています。 PCからアクセスした際、ソースを覗かれないようにするため IPアドレスによる制限をしています。 ファイル名.htaccess order deny,allow deny from all #Docomo IPアドレス #Vodafone IPアドレス #au(cdmaOne)とTu-ka IPアドレス #au(WIN) IPアドレス #au(BREW) IPアドレス 上記のファイルにてPCからのアクセスを防ぐ事が出来るのですが、 エラーページの設定も.htaccessにておこなっています。下記 ファイル名.htaccess ErrorDocument 401 http://URL ErrorDocument 403 http://URL ErrorDocument 404 http://URL ErrorDocument 500 http://URL 上記ファイルにてエラーページの設定は完了なのですが .htaccessを2つ置こうとすると、上書きされてしまい 一つだけになってしまいます。 2つの.htaccessを置きたい場合はどのようにしたら良いでしょうか? どなたかご存知の方、ご教授頂けると幸いです。 よろしくお願い致します。

  • Apacheの.htaccessにおけるルート

    apacheの学習中です。 Apacheで、ユーザーディレクトリを有効にしました。 ユーザーディレクトリ内で、 <a href="/">トップページへ</a> とすると、きちんと各ユーザーディレクトリのトップページへいくことを確認しました。 しかし、.htaccess内で ErrorDocument 404 /error/file_not_found.html とし、エラードキュメントを変更しようとすると、エラーページが正しく表示されませんでした。ログを見ると、以下のようになっていました。 File does not exist: /var/www/error/file_not_found.html どうやら、htaccessにおいてのルートディレクトリ指定が、各ユーザー個別のルートディレクトリになっていないようです。htaccessの/を各ユーザーのルートディレクトリに指定するには、どのように設定すればよいでしょうか? 現在、ユーザーディレクトリは以下のように設定しています。すいません。学習中なので、設定におかしなところがあるかもしれません。 <Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Indexes Limit Options MultiViews FollowSymLinks IncludesNoExec <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept> </Directory> 原因が分かる方がいらっしゃれば、ご指摘くださると嬉しいです。 よろしくお願いいたします。

  • http://aaa.jp/ というアドレスでサイトを運営していたとし

    http://aaa.jp/ というアドレスでサイトを運営していたとします。 特定のホストに index.php を表示させ、それ以外は index.html だけを表示させたいのですが、 表示させたいのですが、htaccessを使ってもうまくできません。 DirectoryIndex index.php order deny,allow deny from all allow from 許可するホスト allow from 許可するホスト allow from 許可するホスト ErrorDocument 403 index.html これでは駄目なのでしょうか?

  • 許可IP以外からアクセスがあった場合の自作エラーページ表示方法は?(htaccess)

    htaccessによって、ネットマスクでのアクセス制限をしています。 許可IP以外からアクセスがあった場合、自作のエラーページを表示させたいのですが、うまく表示されません。 アクセス制限とそのエラーに対して自作のエラーページを表示させる事はできないのでしょうか? htaccessの内容は下記の通りです。 ErrorDocument 403 /403.html ErrorDocument 404 /404.html order deny,allow deny from all allow from 123.45.67.8/24 上記のように記述しています。 htaccessファイルと自作エラーページは同じ階層に設置しています。 アクセス制限のみが有効になっており、自作エラーページ表示が無効になっています。 どなたかアドバイスをお願い致します。

  • .htaccessについて

    「ロリポップレンタルサーバー」で.htaccessファイルを設置したのですが、 なぜか「500エラー」が出てしまいます。 何が原因なのか分からないでしょうか? 【問題の.htaccessファイル】 <Files ~ "^\.(htaccess|htpasswd)$"> deny from all </Files> Options +MultiViews Options -Indexes ErrorDocument 401 http://hoge.com/error/401.htm ErrorDocument 403 http://hoge.com/error/403.htm ErrorDocument 404 http://hoge.com/error/404.htm ErrorDocument 500 http://hoge.com/error/500.htm RewriteEngine on RewriteCond %{HTTP_HOST} ^(www\.hoge\.com)(:80)? [NC] RewriteRule ^(.*) http://hoge.com/$1 [R=301,L] DirectoryIndex index.htm Redirect permanent http://hoge.com/sub http://sub.hoge.com/ order deny,allow [EOF] ちなみに「.htaccess Editor」というサイトで作ったものを少しいじりました。

  • .htaccess設定でアクセス権が無くなりました

    OSはWindowsXPのPCにXampp 1.7.3を使ってApacheをインストールし、 セキュリティ設定のために、.htaccessを記述しました。 .htaccessの内容は下記の通り Order deny,allow deny from all allow from localhost しかしその後から 「Access forbidden! 要求されたオブジェクトへのアクセス権がありません」と表示され、アクセスができません。 試しにdeny from allの部分を削除してみるとアクセスできるようになったのですが、 これを消していいものかも分らず困っています。 対処法を教えていただけないでしょうか。 よろしくお願いします。