.htaccess RewriteRule 适用于附加域,但不适用于根域

.htaccess RewriteRule 适用于附加域,但不适用于根域

我在附加域中创建了一个 .htaccess,成功隐藏了 wp-admin 文件夹:

# Hide wp-admin
<ifModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /
 RewriteCond %{HTTP_USER_AGENT} !MagicString
 RewriteRule ^wp-admin/.*$ - [R=404,L]
</ifModule>

现在我想将其移动到根域的 .htaccess,以便隐藏所有附加域上的所有 wp-admin 文件夹。但是我尽力尝试,却没有奏效。我做错了什么?

答案1

.htaccess规则仅在范围内适用。如果有人向 a.example.com 发出请求,而.htaccessexample.com 的文件不在 a.example.com 的文档树内,则不会读取或尊重该文件。如果为 a.example.com 和 example.com 提供服务的虚拟主机不同,则需要将该规则分别应用于每个虚拟主机。

如果多个子域使用相同的 vhost,您可能能够在多个子域中应用重写规则(将规则放在 vhost 定义块中,这比使用更有效.htaccess)。

相关内容