我有一个网站,我正在开发,也将被拉到一个网络应用程序。我的.htaccess
文件中有以下代码以防止任何不在我允许的IP上的人进行访问:
Order deny,allow
Deny from all
AuthName "Restricted Area - Authorization Required"
AuthUserFile /home/content/html/.htpasswd
AuthType Basic
Require valid-user
Allow from 12.34.567.89
Satisfy Any
问题:我想添加一个规则,该规则还将允许特定的HTTP用户代理访问站点.
如果不是用户代理,我发现这段代码可以重定向:
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !=myuseragent
RewriteRule ^files/.*$ / [R=302,L]
但我似乎想不出如何将其转化为Allow from
规则。帮助?
更新
我找到下面的代码来阻止特定的用户代理..。相反,我想说“如果不是myuseragent
,那就阻塞”。
<IfModule mod_rewrite.c>
SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT
Deny from env=HTTP_SAFE_BADBOT
</ifModule>
发布于 2012-08-08 12:46:40
SetEnvIfNoCase User-Agent .*google.* search_robot
SetEnvIfNoCase User-Agent .*yahoo.* search_robot
SetEnvIfNoCase User-Agent .*bot.* search_robot
SetEnvIfNoCase User-Agent .*ask.* search_robot
Order Deny,Allow
Deny from All
Allow from env=search_robot
发布于 2013-01-18 17:44:01
我只想允许一个特定的用户代理,而不是试图阻止所有
这里是我的配置,只允许wget:
SetEnvIf User-Agent .*Wget* wget
Order deny,allow
Deny from all
Allow from env=wget
发布于 2012-08-08 12:48:00
Allow from
和Rewrite*
是来自两个不同Apache模块的指令。
第一个是mod_authz_host
,另一个来自mod_rewrite
。
您可以使用mod_rewrite
来做您想做的事情:
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !=myuseragent
RewriteRule .* - [F,L]
https://stackoverflow.com/questions/11864727
复制相似问题