我有一个临时站点,我使用.htaccess密码保护它。
但是,由于这是一个电子商务网站,我需要paypal的IPN才能与我的网站进行通信。
我正在使用以下.htaccess但它无效。密码保护仍然有效。
Deny from all
Order deny,allow
AuthType Basic
AuthName "Restricted Area"
AuthUserFile "/path/to/htpasswd"
require valid-user
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} ^paypalListener=paypal_standard_IPN$
RewriteRule .* - [E=test_uri]
</IfModule>
#Allow valid-user
Allow from env=test_uri
Satisfy any
有人可以指导我这里有什么问题吗?
答案 0 :(得分:0)
好的,从我所看到的,[E=test_uri]
只是将“test_uri”设置为空字符串,因此不做任何事情。此外,Allow from
需要IP或域(例如,PayPal的服务器向您的网站发出请求)。
因此,如果您正确地将环境变量设置为发出请求的远程地址,它可能会起作用,如下所示:
RewriteRule .* - [E=test_uri:%{REMOTE_ADDR}]
我现在无法测试。
还要确保服务器的.conf文件中没有其他身份验证规则,并且解析.htaccess文件中的身份验证指令(Options AuthConfig
)。