La règle suivante me provoque une erreur "500 Internal Server Error"
RewriteCond %{HTTP_HOST} !^www\.domaine\.com
RewriteCond %{HTTP_HOST} ^([^.]*)\.?domaine\.com
RewriteRule ^(.*)$ /%1/$1/$2
Je n'ai pas de flag en fin de ligne car ensuite j'ai tout une série de règles, qui fonctionnent parfaitement.
Quelqu'un aurait-il déjà rencontré ce problème ?
S'agit-il d'un réglage à effectuer côté serveur (Apache ou autre) ?
Apparemment cela viendrait du caractère . (point)
En remplaçant (.*) par ([^.]*) même erreur
Par contre cela fonctionne à moitié lorsque je met
RewriteRule ^([^/]*)$ /%1/$1/$2/
Mais cela n'est pas concluant
Je veux obtenir cela :
SAISIE : http://partenariats.domaine.com/
REECRIT : http://partenariats.domaine.com/partenariats/
AFFICHE : http://www.domaine.com/partenariats/
Jusque là OK
Ensuite problème :
SAISIE : http://partenariats.domaine.com/liens-utiles/
REECRIT : http://partenariats.domaine.com/partenariats/liens-utiles/
AFFICHE : http://www.domaine.com/partenariats/liens-utiles/
Erreur 500
Mais en tapant la même adresse sans le slash final, ça passe.
Comment régler ce problème.
J'ai bien cherché avant de poster ce qui se nomme le trailing slash mais rien n'y fait.
Sachant que ça bloque ici, si je tapes http://partenariats.domaine.com/liens-utiles/salon.html , évidemment cela ne passe pas non plus.
Et est-ce que la récupération des variables avec $1 et $2 est correcte ?
Merci