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
Auteur
Réponse acceptée

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.