Tu peux nous donner un exemple d'URL qui donne cette erreur 500 ?
Ca doit partir en boucle à cause de la règle suivante :
RewriteRule ^tags/([0-9]+)/([0-9a-zA-Z-]+)\.html$ index.php?page=tag&t=$2&p=$1 [L]
Tu arrives avec l'URL index.php?..., tu es redirigé sur /tags/.../...html (jusqu'ici, tout va bien), mais du coup, cette URL active la règle sus-citée : hop, tu repars sur la réécriture de index.php, etc.
Faut bidouiller pour sortir de la boucle. Modifie tes règles comme ceci :
RewriteRule ^tags/([0-9]+)/([0-9a-zA-Z-]+)\.html$ index.php?page=tag&t=$2&p=$1&internal_redirect=1 [L]
et
1 2 3
| RewriteCond %{QUERY_STRING} !internal_redirect=1
RewriteRule (.*) $1///%{QUERY_STRING} [C]
RewriteRule ^index.php///page=tag&t=([0-9a-zA-Z-]+)&p=([0-9]+)$ /tags/$2/$1.html? [R=301,L] |
Partager