如果这应该在ServerFault上,请道歉,如有必要,请移动/投票移动。
我遇到了.htpasswd
文件的问题
访问页面通常会按预期方式请求用户名和密码
然后,我可以按预期浏览网站并浏览网页,而不会在每次加载页面时请求身份验证。
使用相同的协议访问同一服务器,相同基本URL上的页面,但使用AJAX重新请求身份验证。
如果我进行身份验证,则AJAX请求成功,但主浏览器窗口上的身份验证不再有效,因此下一次刷新请求身份验证。
这只发生在服务器上的许多vhost中,所有这些都使用相同的.htpasswd
文件。身份验证请求位于全局Apache配置文件中,而不是特定于虚拟主机。
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
AuthUserFile /var/www/private/.htpasswd
AuthGroupFile /dev/null
AuthName "My Private Directory"
AuthType Basic
<Limit GET POST>
require valid-user
</Limit>
</Directory>
唯一不在其中的vhost中的.htaccess
文件如下所示。什么都不应该影响它。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !.*\.(gif|png|jpe?g|ico|swf)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/=$1 [L,QSA]
</IfModule>
因此,我的问题是为什么AJAX请求要求用户再次进行身份验证?