www 重写规则 + 密码身份验证组合,会导致非 www URL 返回 401/404 错误



我刚刚注意到我的域的非www网址存在问题:

当我输入http://mydomain.com(没有 www)时,浏览器尝试转到 http://www.mydomain.com/401.shtml ,并返回 404。

该网站目前受密码保护(从根目录),我有这个.htaccess规则,我设置将所有非www重定向到www:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(?!www.)(.+) [NC]
RewriteRule ^(.*) http://www.%1/$1 [R=301,NE,L]

问题是,几天前我已经应用了密码保护和上述规则,而这个问题现在才发生。(我记得去没有 www 的网址,它工作正常)。

另一件非常奇怪的事情:

在 FF 和 IE10 上,no-www Url 既不适用于根 ( http://mydomain.com ) 也不适用于任何页面 indside ( http://mydomain.com/page.php ) - 得到 401/404;在Chrome上,只有根目录不起作用,而内部页面被重定向到www网址,并显示正常。

编辑:

删除

每个.htaccess规则或身份验证可以解决此问题,但我不想删除它们。

谢谢

尝试添加此行

错误文档 401 默认值

到您的 .htaccess 域名

最新更新