Aller au contenu

Sujets conseillés

Posté

Bonjour,

Afin de pouvoir accéder à une url plus simplement, bien que n'y connaissant pas grand chose, j'ai réussi à écrire la règle suivante dans mon .htaccess:

RewriteRule   ^rss([0-9]+)\.xml$ http://www.example.com/index.php?act=rssout&id=$1 [L]

Cela fonctionne et j'accède maintenant aussi bien à l'ancienne url ./index.php?act=rssout&id=21 qu'a celle réécrite ./rss21.xml

Seulement, j'aimerais rediriger automatiquement (redirection 301) l'ancienne url vers la nouvelle. J'aurais pensé que le fait de rajouter [R=301,L] en fin de ligne suffirait mais ce n'est pas le cas. Comment est-il possible de réaliser la réécriture et la redirection ?

Posté

J'ai pu trouver une solution après pas mal de recherches, grace à un sujet de webmasterworld: Changing Dynamic URLs to Static URLs

Je ne sais pas si c'est correctement appliqué mais ça fonctionne:

RewriteRule   ^rss([0-9]+)\.xml$ http://www.example.com/index.php?act=rssout&id=$1 [L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\?act=rssout&id=([0-9]+)\ HTTP/
RewriteRule ^index\.php$ http://www.example.com/rss%1.xml? [R=301,L]

Par contre, je ne comprends pas la signification de ^[A-Z]{3,9}\ ni de HTTP/ dans la 2eme ligne, des explications sont souhaitées ... si quelqu'un s'y connait un peu, merci d'avance.

Veuillez vous connecter pour commenter

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



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