transmission htaccess si ip interne
-
06-07-2019 - |
Question
Existe-t-il une directive htaccess pouvant transférer de manière transparente une requête d'index.php à index_internal.php si la requête provient d'une plage d'adresses IP interne?
La solution
RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^192\.168\.1\. [OR]
RewriteCond %{REMOTE_ADDR} ^10\.15\.
RewriteRule ^index\.php$ index_internal.php [R,NC,QSA,L]
Qu'est-ce que cela fait:
démarrer le moteur mod_rewrite (vous l'avez peut-être déjà)
if (l'adresse IP du client commence par "192.168.1." [ou]
l'adresse IP du client commence par "10.15.")
et le nom de la page est index.php ([n] ot [c] ase sensible), [r] edirect à index_internal.php, [q] uery [s] tring [a] ppend (c.-à-d. index. php? foo = bar
devient index_internal.php? foo = bar
), [l] traitement de l'avant-toit.
Modifiez si nécessaire pour les blocs d'adresses IP.
Autres conseils
Quelque chose comme ça devrait le faire (évidemment changer l'adresse IP pour qu'elle corresponde à votre réseau):
RewriteCond %{REMOTE_ADDR} ^192\.168\.
RewriteRule index.php index_internal.php
Si vous voulez un en-tête réel, indiquez-le RewriteRule index.php index_internal.php [L, R, QSA]
ok voici mon code (pas de redirection) basé sur la liste du réseau privé de 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]