あるディレクトリ配下にて、ベーシック認証ダイアログ表示の際、
「キャンセル」ボタン・「×」ボタンを連続で押下すると
認証後のURL画面(画像やCSSの効いていないHTML画面)が表示されてしまいます。
(ID/Passが正しい場合においては、正常なHTML画面が表示されますので問題ないです。)
どうすれば、「キャンセル」ボタン・「×」ボタンを連続で押下しても
認証後のURL画面(画像やCSSの効いていないHTML画面)がでなくなるのでしょうか?
あるディレクトリ配下とは、redmineを設置しているディレクトリ配下です。
以下のフォルダ構成にて
ベーシック認証を設置しております。
ドキュメントルート
/var/www/html
[xxxx@xxxx]# pwd
/var/www/html
[xxxx@xxxx]# ls -la
.
..
.htaccess
.htpasswd
index.html
redmine -> /var/lib/redmine/public
httpd.confには以下の設定をしてます。
Options Indexes ExecCGI FollowSymLinks
AllowOverride All
.htaccessの中身は、
AuthUserFile /var/www/html/.htpasswd
AuthGroupFile /dev/null
AuthName "Input your ID and Password"
AuthType Basic
require valid-user
どなたか解決策をおしえていただけますと幸いです。
どうぞよろしくお願いいたします。
redmain は使っていないので、そのものズバリはお答えすることかないませんが、以下ヒントにでもなれば…
(コメント・トラックバックを表示するにチェックを入れておられないので回答欄でごめんなさい)
>認証後のURL画面(画像やCSSの効いていないHTML画面)が表示されてしまいます
ブラウザかプロクシにキャッシュが残っている可能性がありそうです
試しにブラウザの設定でプロクシを使わないようにして、さらに履歴も削除してから、キャンセルの連打をテスト(テストA)してみてください
その後、正しいID/Passで一度正常アクセスを行ってから、再びキャンセルの連打テスト(テストB)を実施してみてください
テストAでは「認証後のURL画面」が表示されず、テストBで表示されたとすればキャッシュのクリアを考えないといけないということになりますので、redmainの雛型ファイルやプログラム内のヘッダー出力部分などにてno-cacheや有効期限を設定してみてください
うーん駄目ですね。
キャッシュではなさそうです。
さらにプライベートブラウジングも使っているのですが。
/var/lib/redmine/public の下に同じ内容の .htaccess を置くとどうでしょう。
既に .htaccess があれば、ベーシック認証の設定を追記してみてください。
httpd.conf の AllowOverride All の記述場所によっては、
動かないかもしれません。
その場合は、
<Directory "/var/lib/redmine/public"> AllowOverride All </Directory>
を httpd.conf に追加してあげればいいかと思います。
上記記述・追記してapacheを再起動してもダメですね。
他に設定することがあるのでしょうか?
もしかしたらredmineとは関係なく、httpd.confに
ErrorDocument 401 /
(or ErrorDocument 401 /index.html)
等(401エラーのときのHTMLと認証OKのときのHTMLが同一)の記述があるのでは?
BASIC認証より優先するのかわかりませんが、(そう仮定するなら)CSSディレクトリ等への認証権限は満たしていない故、報告されている現象が発生しているように見受けられます。
これを
ErrorDocument 401 /unauthorized.html
のようにして、
unauthorized.html
ファイルを別途用意すれば解決しません?
解決できません。
状況改善されないです。