htaccess请求转发,如果内部IP

时间:2008-11-03 13:59:08

标签: php .htaccess forwarding

如果请求来自内部ip范围,是否有可能透明地将请求从index.php转发到index_internal.php的htaccess指令?

3 个答案:

答案 0 :(得分:4)

RewriteEngine on

RewriteCond %{REMOTE_ADDR} ^192\.168\.1\. [OR]
RewriteCond %{REMOTE_ADDR} ^10\.15\.
RewriteRule ^index\.php$ index_internal.php [R,NC,QSA,L]

这是做什么的:

启动mod_rewrite引擎(你可能已经有了)

if(客户端IP地址以“192.168.1。”[或]

开头)

客户端IP地址以“10.15”开头。)

和页面名称是index.php([n] ot [c] ase sensitive),[r] edirect到index_internal.php,[q] uery [s] tring [a] ppend(即index.php?foo=bar变成index_internal.php?foo=bar),[l] eave processing。

根据需要修改IP地址块。

答案 1 :(得分:1)

这样的事情应该这样做(显然改变IP地址以匹配你的网络):

RewriteCond %{REMOTE_ADDR} ^192\.168\.
RewriteRule index.php index_internal.php

如果您想要实际标头,请将其设为RewriteRule index.php index_internal.php [L,R,QSA]

答案 2 :(得分:1)

好的,这是基于wikipedia's private network list

的代码(无重定向)
RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^10\. [OR]
RewriteCond %{REMOTE_ADDR} ^172\.[1-3]{1}\d{1}\. [OR]
RewriteCond %{REMOTE_ADDR} ^192\.168\.
RewriteRule ^index\.php index_internal.php [NC,QSA,L]