1 votes

URL réécrite de l'interrupteur

Nous utilisons une URL réécrite mod dans notre site PHP, voici la règle de réécriture que nous utilisons :

RewriteRule ^category/([^.]+)/([0-9]+)/([^.]+)/([0-9]+) categories.php?c_id=$2&filters=$3&_p=$4&area=category&areaname=$1

Cependant, un utilisateur d'un autre système passe à notre configuration et veut transférer toutes ses anciennes pages vers leurs nouveaux équivalents. Donc, par exemple, cette URL :

http://domain.com/categories/clothing/5/1

devient :

http://domain.com/category/clothing/5/0-0-0-0/1

Est-il possible de faire cela dans une seule règle de réécriture ou une seule correspondance de réécriture (ou similaire), ma pensée initiale était que quelque chose comme ceci fonctionnerait :

RewriteRule /categories/(.*)/(.*)/1 /category/$1/$2/0-0-0-0-0-0-0-0/1 [R=301,L]

il ne le fait pas, des idées ?

J'ai également essayé avec RedirectMatch qui ne fonctionne pas non plus :

RedirectMatch /categories/(.*)/(.*)/1 http://domain.com/category/$1/$2/0-0-0-0-0-0-0-0/1

2voto

seengee Points 9367

Je me suis fixé avec cette règle :

RedirectMatch 301 /categories/(.*)/(.*)/(.*) http://domain.com/category/$1/$2/0-0-0-0-0-0-0-0/$3

1voto

Gumbo Points 279147

Voici un exemple de mod_rewrite :

RewriteRule ^categories/([^/]+/[^/]+)/([^/]+)$ /category/$1/0-0-0-0/$2 [L,R=301]

0voto

Ryall Points 3428

Votre exemple redirige dans le sens inverse de ce que vous voulez d'après ce que je vois.

/category/abc/def/0-0-0-0-0-0-0-0/1 a /categories/abc/def/1

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