Apacheauthentication:可靠地redirect失败?

我已经设置我的ErrorDocument 401指向我的网站的帐户创build页面,但并不是所有的浏览器似乎都承认这个redirect(Safari)。

而且,其他浏览器(Firefox,Chrome)从不退出要求密码并显示ErrorDocument。 这导致很多用户放弃尝试多次密码尝试,而没有看到帐户创build页面。

有没有办法使redirect更可靠,而不是完全废除基本authentication

对您的问题的简单回答是否定的,如果不实施自定义身份验证,则无法使其更可靠。

Firefox和Chrome将显示您在ErrorDocument 401指令中指定的页面的唯一方法是如果单击取消按钮。 另外,401 HTTP代码没有发送重定向。 相反,它是使用ErrorDocument 401指令指定的文档的内容。 您可以使用HTML元标记进行重定向:

<Location "/protected"> AuthUserFile /path/to/users AuthName "This is protected area" AuthGroupFile /dev/null AuthType Basic Require valid-user #ErrorDocument 401 /register.html ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=/register.html\"></html>" </Location> 

您的问题的可能的解决方案是创建自定义的基本HTTP身份验证模块或使用像支持基本HTTP身份验证钩子的PHP语言

http://php.net/manual/en/features.http-auth.php

我怀疑你的Firefox和Safari浏览器用户没有进入用户名前的域名,即MYDOMAIN \ USERNAME。 在Firefox中有一些设置将允许通过身份验证; 我不知道有关野生动物园。