Есть ли возможная директива htaccess, которая может прозрачно перенаправлять запрос из index.php в index_internal.php, если запрос поступает из внутреннего диапазона ip?
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 engine (у вас может быть это уже)
if (IP-адрес клиента начинается с «192.168.1.» [или]
IP-адрес клиента начинается с «10.15.»)
и имя страницы – index.php ([n] ot [c] ase чувствительный), [r] edirect to index_internal.php, [q] uery [s] tring [a] ppend (т.е. index.php?foo=bar
становится index_internal.php?foo=bar
), [l] обрабатывать.
Измените, если необходимо, для блоков IP-адресов.
Что-то вроде этого должно это сделать (очевидно, изменить IP-адрес в соответствии с вашей сетью):
RewriteCond %{REMOTE_ADDR} ^192\.168\. RewriteRule index.php index_internal.php
Если вы хотите получить фактический заголовок, сделайте его RewriteRule index.php index_internal.php [L,R,QSA]
ok, вот мой код (без перенаправления), основанный на списке частных сетей wikipedia
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]