2008-11-03 4 views

Répondre

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] 

Ce que cela fait: Démarrez le moteur mod_rewrite (vous avez peut-être déjà)

si (adresse IP du client commence par "192.168.1." [Ou]

adresse IP du client commence par "10.15".)

et le nom de la page est index.php ([n] ot [c ] ase sensitive), [r] edirect à index_internal.php, [q] uery [s] tring [a] ppend (ie index.php?foo=bar devient index_internal.php?foo=bar), [l] traitement de l'avant-toit.

Modifier si nécessaire pour les blocs d'adresse IP.

1

Quelque chose comme ça devrait le faire (évidemment changer l'adresse IP correspondant à votre réseau):

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

Si vous voulez un en-tête réelle puis le rendre RewriteRule index.php index_internal.php [L,R,QSA]

1

ok voici mon code (pas redirect) basé sur 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] 
+0

Bonne idée! Attention cependant: tout ce qui se trouve dans la portée privée ne doit pas forcément se trouver dans votre réseau - par exemple, j'ai vu des configs où 10.1.255.255 était un réseau interne et 10.4.255.255 un autre réseau moins fiable via VPN. J'autoriserais seulement autant d'accès que nécessaire. – Piskvor

+0

J'ai juste besoin de détecter si mon application Web est accessible via public ou en interne juste pour définir certaines constantes en particulier l'hôte de redirection pour notre application de connexion unique – ken

Questions connexes