URL rewriting a moitié géré?

  • Auteur de la discussion Auteur de la discussion bigguiz
  • Date de début Date de début
Nouveau WRInaute
Bonjour,

je suis en train de tester pour la premiére fois l'URL rewriting sur mon site -www.bouge-en-bresse.info

et là j'halucine! quand je fais ce .htacces

RewriteEngine on
RewriteRule ^ee\.html$ /test.html [L]

ca marche. quand je fais celui-ci:

RewriteEngine on
RewriteRule ^.*\.html$ /test.html [L]

ca marche pas. quand je fais celui-ci:

RewriteEngine on
RewriteRule ^..\.html$ /test.html [L]

ca marche. avez vous une explication a ce meli-melo? j'ai essayé avec des [a-z] des + à la place des * ....

Est-ce que c'est possible que l'hébergeur gére "plus ou moins" l'URL rewriting c'est a dire en interdisant le carctére + ou * dans les expressions réguliéres?

merci d'avance
 
WRInaute impliqué
bigguiz a dit:
Est-ce que c'est possible que l'hébergeur gére "plus ou moins" l'URL rewriting c'est a dire en interdisant le carctére + ou * dans les expressions réguliéres?

Non, c'est exclu à mon avis. Mais l'ur est un "langage", avec des instructions, des conditions...

Ex.: tu peux n'effectuer une rééccriture que si le fichier n'existe pas, tu peux zapper les règles suivantes si une règle de réécriture est remplie ...
 
WRInaute occasionnel
Ce qui est probable, c'est que ta règle boucle malgré le [L] , donc tu repasses dans ton .htaccess avec test.html qui est, de nouveau, modifié en ... test.html... qui repasse, etc... d'ou l'erreur 500

Essaye ainsi pour voir (histoire de vérifier si le pb vient de là) :
Code:
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/?test.html$
RewriteRule ^.*\.html$ /test.html [L]
 
WRInaute occasionnel
Bizarre... Je ne sais pas pourquoi certaines installations de apache+mod_rewrite se comportent comme ça.

Normalement, avec le [L] ça ne peut pas boucler, et c'est pourtant exactement ce qui arrive ici.

A toi donc d'écrire des rewriterule qui ne peuvent pas boucler, soit en évitant le .* quand c'est pas nécessaire (en faisant des règles plus précises), ou en utilisant le RewriteCond un peu comme je l'ai fait dans mon message précédent.
 
Nouveau WRInaute
Bon ben ça va pas me simplifier la tâche :(

En tout cas merci, car j'aurais pu rester bloqué longtemps :wink:
 
Discussions similaires
Haut