Aller au contenu

Sujets conseillés

Posté

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

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...