|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : février 2006 Messages : 54 ![]() |
Bonjour,
Dans le fichier .htaccess à la racine de mon site j'ai la ligne suivante: Code :
RewriteRule ^(.*)\.html$ $1.php [QSA,L] Ma solution c'est de placer un .htaccess dans le répertoire "galeries" qui est identique à celui à la racine du site, mis à part qu'il n'y a plus la redirection ci-dessus. Malheureusement jAlbum quand il crée l'album statique et qu'il l'envoie sur le serveur, il en profite pour supprimer mon fichier .htaccess dans le dossier "galeries". Donc il fait un grand nettoyage avant de placer ses fichiers. Le site doit être géré par une personne qui n'y connait rien en informatique. Comment faire en sorte que la redirection html -> php ne se fasse pas? En indiquant une commande spéciale sur le .htaccess à la racine du site et qui s'appliquerait uniquement au dossier "galeries"? Merci beaucoup |
|
|
00
|
|
|
#2 | ||
|
Nouveau Membre du Club
![]() Franck TheetenInscription : mars 2005 Messages : 33 ![]() |
Définir au dessus du RewriteRule un RewriteCond avec une condition négative (via le signe '!') sur les chemins qui contiennent "/galeries/" devrait faire l'affaire.
exemple: Code :
Pour info: plusieurs RewriteCond consécutifs sont liés par un "OR" booléen jusqu'à la prochaine règle (on peut empiler plusieurs exceptions au prochain RewriteRule de cette manière). Alternativement vous pouvez toujours remplacer la règle Apache par une redirection dans le header et/ou le javascript des fichiers html concernés. |
||
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : février 2006 Messages : 54 ![]() |
Bonjour et merci de votre réponse. Le code que vous me donnez me génère une erreur 500. Pourtant c'est la solution qui m'intéresse car je ne peux pas agir directement sur les pages html ou js du dossier /galeries car ces fichiers sont regénérés automatiquement par un logiciel d'album photo. Mes modifications seraient automatiquement écrasées.
D'autres idées? merci |
|
|
00
|
|
|
#4 | ||
![]() ![]() Inscription : août 2005 Messages : 8 299 ![]() |
Qui dit erreur 500 dit "je vais consulter les logs d'erreur d'Apache" (si elles sont accessibles, bien entendu). Dans le cas présent, le problème vient que la RewriteCond n'a qu'un seul paramètre alors qu'il lui en faut deux : le premier paramètre (qui manque) est la chaîne de caractères ou la variable sur laquelle faire le test et le second paramètre est le test. Là, il s'agit donc d'ajouter un premier paramètre. Vu le test, je dirais que c'est %{REQUEST_URI} qu'il faut mettre (c'est l'URL demandée) :
Code :
RewriteCond %{REQUEST_URI} !^(.*)/galeries/(.*)
Donc au final : Code :
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
||
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Inscription : février 2006 Messages : 54 ![]() |
Merci beaucoup Mac, ça fonctionne et j'ai appris quelque chose grâce à tes explications
|
|
|
00
|
|
|
#6 | ||
|
Nouveau Membre du Club
![]() Franck TheetenInscription : mars 2005 Messages : 33 ![]() |
Désolé pour l'information incomplète: je n'avais pas d'Apache sous la main, et merci à Max pour la correction.
Je me corrige aussi sur un point: par défaut les RewriteCond d'une même règle sont reliées entre elles par un "AND" et non un "OR" booléen (si toute les conditions sont sur des tests négatifs se souvenir des lois de Morgan ...) . Le ou existe via: Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com