Bonjour à tous,
Je suis actuellement en train de paramétrer le fichier htaccess de mon site.
Celui-ci prend en compte :
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^(fr|en|de)/(.*)$ $2?lang=$1 [L,QSA]
RewriteRule ^(fr|en|de)/$ index?lang=$1 [L,QSA]
Cette partie fonctionne bien. Je suis bien redirigé avec la langue et sans l'extension.
Par contre c'es la suite qui me pose probleme. Je souhaite activer un mode maintenance pendant la mise en ligne des fichiers ftp.
J'ai trouver ceci sur internet :
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_HOST} !^888\.888\.888\.888
RewriteRule $ /maintenance.html [R=302,L]
Je l'ai donc ajouté a mon htaccess, voici mon htacces complet :
Options +FollowSymlinks
ErrorDocument 404 http://localhost:8888/1girl/1girl.ch/404
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^(fr|en|de)/(.*)$ $2?lang=$1 [L,QSA]
RewriteRule ^(fr|en|de)/$ index?lang=$1 [L,QSA]
RewriteCond %{REQUEST_URI} !/fr/standby$
RewriteRule $ http://localhost:8888/1girl/1girl.ch/fr/standby [R=302,L]
Mais la redirection sur ma page maintenance (Ici appelé standby) ne fonctionne pas. Mon navigateur me retourne ceci :
Bizarre non ? Le début de l'URL est correct, mais c'est la suite qui est étrange...
J'ai fait plusieurs test mais sans succès. Vous auriez une idée ?
Bonjour kamelzagger,
Je pense que c'est la redirection 302 qui boucle
il te faut une condition pour lui dire d'arréter, la tienne ne fonctionne pas
celle-ci fonctionne :
RewriteCond %{REQUEST_URI} !standby
RewriteRule $ http://localhost:8888/1girl/1girl.ch/fr/standby [R=302,L]
la ligne RewriteRule doit suivre la ligne RewriteCond
Penses aussi au RewriteBase pour éviter de trainer 1girl/1girl..
Si tu as d'autres pb penses à logger la réécriture en ajoutant dans ton httpd.conf
LogLevel debug rewrite:trace8
il suffit ensuite de regarder les logs d'Apache ... et prendre un cachet d'aspirine !!!
Oups j'ai oublié de te répondre et de mettre le sujet en résolu !
Je te remercie beaucoup ça fonctionne très bien maintenant :)
A+