我正在使用以下代码尝试限制对网站的访问,但它只是不允许我从推荐域连接。
<Limit GET>
order deny,allow
deny from all
allow from studiorenegade.com
</limit>
RewriteEngine On
RewriteRule ^(_app) - [F,L]
RewriteRule ^(_config) - [F,L]
RewriteRule ^(_content) - [F,L]
RewriteRule ^(.*).yml$ - [F,L]
RewriteRule ^(.*).yaml$ - [F,L]
RewriteRule ^(.*).html$ - [F,L]
RewriteRule ^(.*/)?\.git+ - [F,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php [QSA,L]
AuthType Basic
AuthName "restricted area"
AuthUserFile /var/www/{path to .htpassword}
require valid-user
这一切似乎都很简单,我似乎无法正确配置允许? 谢谢!
答案 0 :(得分:1)
这就像:
allow from studiorenegade.com
允许来自studiorenegade.com
服务器的直接连接,而不是浏览该网站并点击链接(可能是允许来自)的人。除了使用studiorenegade.com所在的服务员之外,你基本上拒绝了所有人的访问权。
你可能想要摆脱它并改为添加:
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?studiorenegade\.com [NC]
RewriteCond %{HTTP_REFERER} !^https?://hostname.of.your.server.com [NC]
RewriteRule ^ - [L,F]
在RewriteEngine On
行的正下方。
这将发送其引用标头字段不是来自“studiorenegade.com
”的任何请求。但是,此字段可能是伪造的,并不能保证人们仍然无法从其他位置访问您的网站。