htaccess允许访问(禁用授权)文件,如果查询字符串存在


htaccess allow access (Disable authorization) to file if query string exists WORDPRESS

我试图让用户wordpress wp-admin索引页,如果查询字符串包含参数。我正在设置env变量以允许他们访问。这就是我的htaccess文件的样子

RewriteEngine on
RewriteCond %{QUERY_STRING} !^author=1
RewriteRule ^ - [E=NO_AUTH:1]
AuthName "Staff Authorization Required"
AuthType Basic
AuthUserFile /usr/bin/.htpasswd
<Files "index.php">
Order Deny,Allow
Deny from all
Require user newagenumber
Allow from env=NO_AUTH
</Files>
Options -Indexes

到目前为止,每个人都出现了授权对话框。请帮忙:|

这是不工作的,因为Apache在mod_rewrite之前执行mod_auth模块,因此NO_AUTH在基本认证指令运行时未设置。

不幸的是,这种行为并不是那么容易改变的。

这是一个结合mod_rewrite, mod_setenvifmod_auth的变通解决方案:

RewriteEngine On
RewriteBase /wp-admin/
RewriteCond %{QUERY_STRING} (?:^|&)(author=1)(?:&|$) [NC]
RewriteRule ^(index'.php)?$ index.php/%1 [NC]
# set SECURED var to 1 if URI is /index.php/200
SetEnvIfNoCase Request_URI "/index'.php/(author=1)" NO_AUTH
AuthType Basic
AuthName "Login Required"
AuthUserFile /full/path/to/passwords
Require user newagenumber
Order Deny,Allow
Deny from all
Allow from env=NO_AUTH
Satisfy any