1

我在cs购物车中有一个网站。
管理员面板的网址是这样的https://mysite.com/vendorsds.php。每当他/她访问此链接时,
我想为用户设置一个HTPasswdhttps://mysite.com/vendorsds.php?dispatch=companies.update

我已经尝试了以下 -

AuthName "Restricted Area" 
AuthType Basic 
AuthUserFile /var/chroot/home/content/28/11136228/html/htpasswds/.htpasswd 
AuthGroupFile /dev/null 
<Files vendorsds.php?dispatch=companies.update>
require valid-user
</Files>

当我dispatch=companies.update从上面删除它对通过vendords.php的所有页面的工作时。是否可以为同一页面中的任何特定 GET 参数(如)设置HTPasswddispatch=companies.update

4

1 回答 1

0

这确实很棘手,但可能。请参阅下面的这 2 步方法:

## force BASIC auth for a specific query parameter

# 1: set URI to /vendorsds.php/companies.update if query string is dispatch=companies.update
RewriteCond %{QUERY_STRING} (?:^|&)dispatch=companies.update(?:&|$) [NC]
RewriteRule ^(vendorsds\.php)/?$ $1/%1 [NC]

# 2: set AUTH_NEEDED var to 1 if URI is /vendorsds.php/companies.update
SetEnvIfNoCase Request_URI "^/vendorsds\.php/companies\.update" AUTH_NEEDED

AuthType Basic
AuthName "Restricted Area"
AuthUserFile /var/chroot/home/content/28/11136228/html/htpasswds/.htpasswd
Require valid-user
Order allow,deny
Allow from all
Deny from env=AUTH_NEEDED
Satisfy any
于 2013-11-28T07:36:58.113 回答