我正在处理的网站有一个奇怪的问题,它确实让我发疯,尽管它应该可以正常工作。
我在 domain.nl 有一个站点,在 domain.nl/cms 有一个 CMS。除了图像、css 等和 /cms 文件夹之外的所有请求都被重定向到 domain.nl/mesam/mesam.php,根目录中有一个 .htaccess 文件。
在 /cms 文件夹中,有一个基本的 http auth,该文件夹中有一个 .htaccess 和 .htpasswd。
domain.nl 运行良好,除了 domain.nl/cms 被重定向到 mesam/mesam.php,导致 /cms 文件夹无法访问。
现在,有两种方法可以让 cms 可访问:1)我删除根文件夹中的 .htacces,破坏整个站点(/cms 除外)2)我删除 /cms/.htaccess,站点本身继续工作,domain.nl /cms 会导致 CMS 不安全,我当然不希望这样做。
这里有一些内容:
域.nl/.htaccess:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/cms
RewriteCond %{REQUEST_URI} !(\.png|\.jpg|\.gif|\.jpeg|\.bmp|\.css|\.js|favicon\.ico|\.svg|\.pdf|\.ino)$ [NC]
RewriteRule (.*) mesam/mesam.php [L]
domain.nl/cms/.htaccess:
AuthName "CMS"
AuthUserFile <<www_root>>/cms/.htpasswd
AuthGroupFile /dev/null
AuthType Basic
require valid-user
奇怪的是,这个完全相同的设置适用于同一服务器上的另一个站点 (domain2.nl)、相同的目录结构和相同的 htaccess-contents。谷歌证明是有帮助的,它告诉我我使用的设置是正确的(正如 domain2.nl 所证明的那样)。
我真的希望有人可以帮助我。我在 Apache 上运行 PHP7,在带有 CPanel 的共享托管服务器上(以及一些正在运行的 Linux 发行版)。domain.nl 和 domain2.nl 的 PHP 和服务器设置是相同的。