2

我有一个 htaccess 文件,用于密码保护名为 wp-login.php 的文件(由 Wordpress 用于登录)。

这是 htaccess 的样子:

ErrorDocument 401 "Authorization Required"
<FilesMatch "wp-login.php">
AuthName "Restricted"
AuthType Basic
AuthUserFile /home/username/.wp-admin
require valid-user
</FilesMatch>

我想在 . 下的文件上设置密码directory xyz,所以xyz/wp-login.php应该有密码。

但是,问题是我在(abc 的子目录)wp-login.php下有另一个文件,我不想使用密码保护。但这会在 htaccess 指令中自动发生 - 所以我的问题是如何防止指令级联到子目录?xyz/abc/ directory

我知道 Directory 指令带有嵌套的 File 指令,但这似乎仍然会级联密码保护 - 请注意,我确实可以访问我的httpd.conf文件,因为我使用的是 VPS 而不是共享主机。

谢谢!

4

2 回答 2

1

而不是FilesMatch像这样设置你的 .htaccess :

SetEnvIfNoCase Request_URI "^/wp-login\.php" AUTH_NEEDED

AuthType Basic
AuthName "Restricted"
AuthUserFile /home/username/.wp-admin
Satisfy    any
Order      allow,deny
Allow from all
Deny from env=AUTH_NEEDED

仅当 URIhttp://site.com/wp-login.php使http://site.com/xyz/wp-login.php等免于身份验证时,这才需要基本身份验证。

于 2013-09-25T09:24:31.440 回答
0

.htaccess基本上,您在子目录中创建一个新文件以覆盖根目录。此问题中描述了有关此内容的更多详细信息:

如何从子目录中删除 .htaccess 密码保护

希望能帮助到你。

于 2013-09-25T09:01:38.117 回答