.htaccess autorisation d'une IP et exclure redirection

Par kamelzagger, il y a 10 ans


Bonjour,

J'ai déjà créer un sujet récemment pour un problème que je rencontrais avec mon fichier .htaccess. Sujet ici : https://www.grafikart.fr/forum/topics/21801

J'ai pu résoudre mon problème principal (le fait que ma page maintenance.php s'affichait toute cassé sans css). Malheureusement, la résolution de ce problème en à créer un autre : Ma requete RewriteCond %{REMOTE_ADDR} !192.168.1.127, pour autoriser une Ip ne fonctionne plus.

J'aimerais également pouvoir exclure une page et un dossier de cette redirection.
Tout est expliqué ci dessous :

Voila donc ou j'en suis :

ErrorDocument 404 http://localhost:8888/ecole_bosco/404.php RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php RewriteRule ^([A-Z/0-9/a-z/_/-]+)\.html$ maintenance.php [L,NC] RewriteRule ^([A-Z/0-9/a-z/_/-]+)\.php$ maintenance.php [L,NC]

Donc la redirection sur la page maintenance.php fonctionne et s'affiche correctement.

Maintenant il reste deux choses :

1 Autoriser une ip

Sa fonctionnait avant avec une ligne comme :

RewriteCond %{REMOTE_ADDR} !192.168.1.127

Mais plus maintenant... Capricieux ce .htaccess !

2 Exclure la page admin.php et le dossier administration

Et la.. on dejà proposé de nombreux codes et toujours sans succès.

Pour info le fichier admin.php sur trouve à la racine (au même niveau que le fichier maintenance.php) et le dossier /administration aussi, que je souhaite completement exclure (toutes les pages du dossier), donc pas de redirection.

Je vous remercie d'avance pour votre aide :)

1 réponse

kamelzagger, il y a 10 ans

J'ai reussi !! Encore une fois, je veux pas crier victoire trop vite mais en tout cas pour le moment (je touche du bois) ca fonctionne !

Voici le code qui fonctionne :

ErrorDocument 404 http://localhost:8888/ecole_bosco/404.php RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php RewriteCond %{REMOTE_ADDR} !192.168.1.127 RewriteCond %{REQUEST_URI} !admin(\.php)?$ RewriteCond %{REQUEST_URI} !/administration/.* RewriteRule .*([A-Z/0-9/a-z/_/-]+)\.php$ maintenance.php [L,NC]

Et ca fonctionne uniquement dans cet ordre la.