两台服务器上有相同的 .htaccess,但只有一台服务器上有效

两台服务器上有相同的 .htaccess,但只有一台服务器上有效

设想

我正在使用两台运行 Apache 的服务器。 相同的程序.htaccess在一台服务器上运行,而在另一台服务器上不运行。

代码

AuthUserFile .htpasswd
AuthType Basic
AuthName "Password Required"
Require user jackson
Order Deny,Allow
Deny from All

<FilesMatch "^ads\.txt$">
Allow from all
</FilesMatch>

Satisfy Any

问题

ads.txt匿名访问者无需登录即可在服务器 A 上看到内容,但是,他们只能401 (unauthorized)在服务器 B 上看到内容。这可能是什么原因,或者我可以做些什么来进一步排除故障?

额外的

  • 如果我切换到Allow from All第 6 行,ads.txt 仍然被服务器 B 上的 a 阻止401。如果我注释掉该FilesMatch条件,则阻止将被解除。这只会加剧混乱。
  • 服务器 B.htaccess在父目录中有一个。将其设置为Allow from All没有任何效果。
  • 这两个文件都664属于 apache 有权访问的组。

答案1

两台服务器是否运行相同的 Linux 发行版和版本,并且都运行相同版本的 Apache?

尽管文件可能具有相同的权限(664 和相同的所有者/组),但两台服务器上都可以访问完整路径吗?也许其中一个子文件夹的权限太严格。

相关内容