RewriteEngine On
RewriteCond $1 !^(allow\.php)
RewriteRule ^(.*)$ /allow.php/$1 [L,R=301]
RewriteCond %{HTTP_USER_AGENT} !MYUSERAGENT [NC]
RewriteCond %{REMOTE_ADDR} !^12.12\.12\.12$
RewriteRule .* http://www.google.com [R=302,L]
我写了这段代码来限制对我的页面的访问。但我希望每个人都能访问allow.php 此代码无法正常工作,但仍会重定向。 为什么会这样?
答案 0 :(得分:0)
您需要删除此部分:
RewriteCond %{HTTP_USER_AGENT} !MYUSERAGENT [NC]
RewriteCond %{REMOTE_ADDR} !^12.12\.12\.12$
RewriteRule .* http://www.google.com [R=302,L]
由于重写引擎将循环并且重写的/allow.php/something/something
将点击第二个规则并被重定向。
答案 1 :(得分:0)
你的规则如下:
RewriteEngine On
RewriteRule ^sub\.php - [L,NC]
# if not sub.php, not desired user agent and not your IP then redirect
RewriteCond %{HTTP_USER_AGENT} !MYUSERAGENT [NC]
RewriteCond %{REMOTE_ADDR} !^12.12\.12\.12$
RewriteRule ^ http://www.google.com [R=302,L,NC]