Aller au contenu

Sujets conseillés

Posté

Salut :)

Décidément, la logique de la réécriture d'URL m'échappe encore... Ca va finir par m'énerver, toute ces histoires.

J'ai envie de mettre deux règles dans mon htaccess...

Passer de site.com/article/3/pouet à site.com/post/3/pouet

Puis passer de site.com/nimportequoi/encore/3/pouet à site.com/index.php/nimportequoi/encore/3/pouet

Le mot "article" est le seul à passer à "post"...

Et bien entendu, nimportequoi, encore, etc... sont des variables qui peuvent être un peu de n'importe quoi.

J'ai bien essayé

RewriteRule ^article/(.*) post/$1

RewriteRule (.*) index.php/$1

Mais il veut pas, il me 500tise sans vouloir me dire pourquoi (enfin si, apparemment une boucle infinie).

Bref, vous pourriez m'expliquer ?

Merci d'avance :)

PS : je sais pas si c'est utile, mais j'ai également un RewriteBase pour aller dans un sous-dossier...

Posté
PS : je sais pas si c'est utile, mais j'ai également un RewriteBase pour aller dans un sous-dossier...

As-tu essayé sans celui-ci ?

Et un second commentaire : termine tes règles avec [L] si tu n'as pas besoin d'en exécuter une autre ensuite :!:

Posté

Salut

Si j'ai bien compris le but, je pense que tu as fait les choses à l'envers.

Au lieu de

RewriteRule ^article/(.*) post/$1
RewriteRule (.*) index.php/$1

ça devrait plutôt être

RewriteRule ^post/(.*) article/$1
RewriteRule ^index.php/(.*) $1

Posté

En fait c'est moi qui a sans doute mal interprété le sens de "passer de .. à .." :unsure:

Pour éviter l'erreur de la boucle sans fin, une condition devrait suffire :

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule (.*) index.php/$1

En revanche il y a sans doute plusieurs autres précautions à prendre

Veuillez vous connecter pour commenter

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



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