0

Apache 问题:我有一个 wordpress 网站。我想用密码保护 wp 登录屏幕。我不想允许本地.htaccess。在我正在使用的虚拟主机中:

<LocationMatch "(/wp-admin/|/wp-login.php)"> AuthType Basic AuthName "Restricted Content" AuthUserFile /etc/apache2/.htpasswd Require valid-user </LocationMatch>

这有效,但我仍然能够通过 wordpress 的页面 id 访问登录屏幕:https://my.domain.com/?page_id=54 并且可以找到 LocationMatch 指令的正确语法。

<LocationMatch ".*">当然适用,但其他任何东西都不起作用,甚至不适用<LocationMatch ".*54$">

任何帮助将不胜感激。

4

1 回答 1

0

只需添加另一个 LocationMatch 指令(Apache 2.4):

<LocationMatch ".*"> <If "%{QUERY_STRING} =~ /page_id=54/"> AuthType Basic AuthName "Restricted Content" AuthUserFile /etc/apache2/.htpasswd Require valid-user </If> </LocationMatch>

[ https://serverfault.com/questions/848320/can-locationmatch-regex-match-query-string-portion ]

于 2020-05-24T19:57:32.400 回答