htaccess 重写和身份验证冲突

htaccess 重写和身份验证冲突

我有 2 个目录,每个目录都有一个 .htaccess 文件:

html/.htaccess - 此文件中有一个重写,可将几乎所有内容发送到 url.php

RewriteCond %{REQUEST_URI} !(exported/?|\.(php|gif|jpe?g|png|css|js|pdf|doc|xml|ico))$
RewriteRule (.*)$ /url.php [L]

和 html/exported/.htaccess

AuthType Basic
AuthName "exported"
AuthUserFile "/home/siteuser/.htpasswd"
require valid-user

如果我删除 html/exported/.htaccess,重写工作正常,导出的目录可以访问。如果我删除 html/.htaccess,身份验证工作正常。

但是当我导出两个 .htaccess 文件时,/ 会被重写为 /url.php。有什么办法可以防止这种情况发生吗?

答案1

正如我在这里回答,我通过简单地为 401 错误创建一个 401.html 文件解决了这个问题。

答案2

在 html/exported/.htaccess 中

RewriteEngine off

相关内容