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?

Était-ce utile?

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]
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top