1

我正在处理的网站有一个奇怪的问题,它确实让我发疯,尽管它应该可以正常工作。

我在 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 和服务器设置是相同的。

4

1 回答 1

0

试试这个解决方案:

ErrorDocument 401 "Authorisation Required"在授权部分之后添加。

你有替换

AuthName "CMS"
AuthUserFile <<www_root>>/cms/.htpasswd
AuthGroupFile /dev/null
AuthType Basic
require valid-user

AuthName "CMS"
AuthUserFile <<www_root>>/cms/.htpasswd
AuthGroupFile /dev/null
AuthType Basic
require valid-user
ErrorDocument 401 "Authorisation Required"

参考:使用 Htpasswd 时解决 404 错误

于 2020-08-05T15:37:50.603 回答