• ベストアンサー

ErrorDocument 401

おせわになります。 ErrorDocument 401で任意のページを表示させようかと思っております。 webページで認証後、サーバ内のエラーページを表示させることは出来ますが、下記のようなことは出来ますでしょうか? ErrorDocument 401 http://www.yahoo.co.jp/ 実際に.htaccessに記述してもダメでした。 httpd.confでどこかを修正する必要があるのでしょうか?

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

  • ベストアンサー
  • Lean
  • ベストアンサー率72% (435/603)
回答No.3

>cannot use a full URL in a 401 ErrorDocument directive --- ignoring! あ、ステータスコード401というのを忘れてました。 ステータスコード401の場合、ErrorDocumentではリモートのURLではなくてローカルのドキュメントを指定しないといけません。 ErrorDocumentにリモートのURLを指定するとリダイレクトになり、クライアント(ブラウザ)はリダイレクトのステータスコードを受け取る事になります。 なのでスタータスコード401の場合、リモートのURLが指定されてしまうとクライアント(ブラウザ)がステータスコード401を受け取らず、リダイレクトのステータスコードを受け取る事になり、ユーザにパスワード要求する事が出来なくなりますので、Apacheで無視しています。   ログを見るとわかりますが、例えばBASIC認証のページにアクセスするとユーザ名、パスワードを入力するウィンドウが表示される前に一度ステータスコード401のエラーになってます。  

shilvia__s15
質問者

お礼

回答ありがとう御座います >あ、ステータスコード401というのを忘れてました。 >ステータスコード401の場合、ErrorDocumentでは >リモートのURLではなくてローカルのドキュメントを >指定しないといけません。 ですよね。。。。 下記のサイトで出来るような事を書いてあるけど、apacheのドキュメントと違いますし。。。 やっぱり出来ませんよね? http://get.daa.jp/net/htaccess.php http://www.1andonly.jp/errormessage.htm http://www.chaly.jp/docs/htaccess.htm http://www.quick-s.net/htaccess2.html http://www.nmt.ne.jp/faq/homepage/homepage05a.html

その他の回答 (3)

回答No.4

そういえば、401のときはこのエラーが出て、 みなローカル指定で解決してますね。 やったことないんですが、 そしたら、その指定したローカルファイルが(Javaでもcgiでも)さらに外部にリダイレクトするように作りこんだらだめですかね?

  • Lean
  • ベストアンサー率72% (435/603)
回答No.2

httpd.confファイル内でその.htaccessがある場所に対応する<Directory>セクション内か<Location>セクション内で「AllowOverride All」もしくは「AllowOverride FileInfo」が設定され、.htaccessで許可されるディレクティブの種類で「FileInfo(ドキュメントタイプを制御するためのディレクティブの使用を許可)」が有効になっていますか? 有効になっていないといくら.htaccessファイルで設定してもその内容は有効になりません。 あとは、No.1の方が書いているようにhttpd.confに直接書いてしまうという事もありかと。  

shilvia__s15
質問者

お礼

回答有難う御座います。 AllowOverride allになってます。 .htaccessも利用可能です。 httpd.confに直接書きましたが cannot use a full URL in a 401 ErrorDocument directive --- ignoring! となってしまいます。

回答No.1

httpd.confに記述すれば401のときにとんでいきますよ。 今はコメントアウトされているかと。

shilvia__s15
質問者

お礼

回答有難う御座います。 httpd.conf内のコメントアウトを外して編集・起動を試みましたが、下記のエラーが出てしまいます。 cannot use a full URL in a 401 ErrorDocument directive --- ignoring! やはり、 ErrorDocument 401 http://www.yahoo.co.jp という書き方で怒られているようです。

関連するQ&A

  • OSXで.htaccess

    .htaccessを試しているんですが 置き場所は/Library/WebServer/Documents/.htaccess 自宅サーバに使っています htppd.confをいじくって Options -Indexesまでできるようになったんですが パスワード認証などを設置すると500エラーがでます ローカル192.168.1.17でもエラーがでます 記述は間違ってないと思います 他にも404のエラーページを出したりすると 500エラーがでます ディレクトリなどを書く.htaccessではエラーがでています Options -Indexesならちゃんと消えているんですが httpd.confのどこの設定を変えれば良いのでしょう教えてください!

  • htaccessでユーザー認証が出来ない

    自宅サーバー構築にチャレンジしていますが、 .htaccessを利用してユーザー認証ができません。 状況は、 ・ブラウザには、500 Internal Server Errorが表示 ・Apach エラーログに AuthUserFile not allowed here となってしまいます。 Apache/1.3.12を使用しています。 .htaccessにOptions -Indexesのみ記述すると、ディレクトリツリーが表示されなくなりますが、ユーザー認証の記述を追加すると上記のエラーになってしまいます。 httpd.confの記述など、設定が必要なのでしょうか?

  • カスタマイズした404ページが設定できない

    404ページと.htaccessの格納場所は、 http://www.***1.jp/***2/***3/404.html http://www.***1.jp/***2/***3/.htaccess 1) .htaccessの記述が下記の場合… ErrorDocument 404 /***1/***2/404.html →404.htmlの画像、cssがきちんと表示されない 例えば、存在しないページhttp://www.***1.jp/***2/***3/***4/index.htmlへ飛ぼうとした場合に表示されたhtml内の画像やhrefを見てみると、http://www.***1.jp/***2/***3/***4/404.htmlを読もうとしている 2) .htaccessの記述が下記の場合… ErrorDocument 404 /404.html →カスタマイズした404ページが表示されず、下記文言が追記されている。 Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. 3) .htaccessの記述が下記の場合… ErrorDocument 404 http://www.***1.jp/***2/***3/404.html 問題なく表示。でも、リダイレクトになってしまい、これはあまり推奨されてないようです。 アドバイスいただけないでしょうか。 よろしくお願いします。

  • htaccessのエラー制御について

    htaccessの中で ErrorDocument 403 を記述しページのアドレスを記入したらエラー番号に対するページを表示できるんですが、htpasswdでBASIC認証させた場合にIDパスワードがエラーの場合の対応するページというのを表示させたいのですができるのでしょうか? よろしくお願いします。

  • apacheで ErrorDocument 404が利かない??

    apacheで ErrorDocument 404が利かない?? httpd.confにErrorDocument 404を設定しているのですが、まったく利きません・・・。 たいしたことをやっていないのに、機能しないので、 手順に間違いがあるのか分からなくなってしまいました。 ■環境 OS:WindowsXP apache 2.2.14 ■手順 1.apacheをダウンロードしてインストールする。 2.httpd.confに、以下を記述する。そのほかは何もいじらない。 ErrorDocument 404 /index.html 3.apacheを再起動する。 4.ttp://localhost/にアクセスする。「It works!」を表示することを確認する。 5.ttp://localhost/xxx.htmlにアクセスする(存在しないファイル)。  →index.htmlに返らず、ブラウザデフォルトの「ページが見つかりません」になる。 他にも試しました。 ドキュメントルートにerror.htmlを作成して、 ErrorDocument 404 /error.html にしてみたり。 でも、やっぱり「ページが見つかりません」になります。 ErrorDocument以外に何か設定する箇所はありますか? apacheに詳しい方がいらしたら、教えて欲しいです。 よろしくおねがいします。

  • htaccessで制限したフォルダ内の指定ファイルのみ許可

    .htaccessでサーバ全体にパスワード制限をかけてあるのですが、この状態で認証失敗のエラーページをカスタマイズしたいのですが、可能でしょうか。 ErrorDocument 401 http://・・・ でサーバ外にリダイレクトすれば可能なのですが、あまり美しくないので・・・。 401エラーのドキュメントだけ認証不要にすることは可能でしょうか? よろしくお願いいたします。

  • httpd.confに関して

    apacheのhttpd.confに関して質問させていただきます。 ErrorDocumentで、自作したカスタムのエラーページを 表示できると思うのですが、 ・ErrorDocument エラーコード "文字列" は文字列がちゃんと表示されますが、 ・ErrorDocument エラーコード /~/~/~.html の場合は、デフォルトのエラーページが表示されてしまいます。 VirtualHosat内でも同じ動きです。 なぜデフォルトが出てしまうのかご意見よろしくお願いいたします。

  • .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の設定

    ご教授宜しくお願い致します。

 下記web構成です。 トップページに
index.htmlがあり、他ページはabcのフォルダの中にさらにindex.htmlをおいています。
 トップページのアドレスの表示は、
http://www.sample.com/(仮)です。 abcのフォルダのページのアドレスは
http://www.sample.com/abc/ です。

 この状態で、404エラーを全てのページに適応させたいのですが、
自作の404.htmlのエラーページを作成し、.htaccessに下記記述をしました。 
ErrorDocument 404 /404.html

 しかし、これですと、
http://www.sample.com/ にのみしか適応にならず、他のページhttp://www.sample.com/abc/などは、読み込んではいるものの、CSSや画像の読み込みが出来ていない状態です。文字だけの表示となってしまいます。 

また、.htaccessに下記記述をすると ErrorDocument 404 http://www.sample.com/404.html 全てのページに適応になるのですが、 
http://www.sample.com/abc/404.html
といったアドレスになり、「404.html」という表示をさせたくないのです。

 何とか、.htaccessの記述で、全てのページに適応する記述方法はないでしょうか?

 どなたかご教授お願い致します。
宜しくお願い致します。

    • ベストアンサー
    • HTML
  • .htaccess エラーページを変更したい

    403エラーページを404エラーページっぽく変更したく、以下のように.htaccessを記述してアスキーモードでアップしました。 サーバはさくらインターネットです。 ErrorDocument 403 /aaa/404.html わざと自分のIPをアクセス制限して表示させてみようとしたところ、いつもの403エラー画面が表示されてしまいます。 一体どうしてでしょうか……。

    • ベストアンサー
    • HTML