2 votes

La règle de réécriture .htaccess ne fonctionne pas correctement avec index.php?path

Bonjour, j'ai l'ancienne url suivante

www.domain.de/index.php?leistungen

et le nouveau est

www.domain.de/leistungen

J'ai essayé ce qui suit RewriteRuile comme si je l'avais fait des millions de fois.

RewriteRule ^index.php?leistungen /leistungen/ [L,R=301]

Mais dans ce cas, j'ai obtenu le résultat suivant :

www.domain.de/path/?leistungen=

Et il route vers l'url racine.

Quel est le problème dans cette affaire ?

Merci d'avance.

1voto

anubhava Points 172509

Vous pouvez utiliser ces règles dans votre site Root .htaccess :

RewriteEngine On

# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} \s/+(?:index\.php)?\?([^\s&]+) [NC]
RewriteRule ^ /%1? [R=301,L,NE]

# internal forward from pretty URL to actual one
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ index.php?$1 [L,QSA]

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X