我有 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