如果请求来自内部ip范围,是否有可能透明地将请求从index.php转发到index_internal.php的htaccess指令?
答案 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]