mod yazılabilir URL geçiş

3 Cevap php

Biz PHP site içindeki bir mod yeniden yazılamaz URL kullanıyorsanız, bu bizim kullandığımız yeniden yazma kuralı:

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

Ancak, farklı bir sistemde bir kullanıcı bizim kurulum geçiş ve yeni eşdeğerleri 301 tüm eski sayfaları istiyor. Bu nedenle, örneğin, bu URL:

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

olur:

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

Tek bir yeniden yazma kuralı bunu yapmak ya da maç (veya benzeri) yeniden yazmak mümkün mü, benim intial düşünce böyle bir şey işe oldu:

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

Bu, herhangi bir fikir değil mi?

Ayrıca çalışmıyor RedirectMatch ile bu çalıştı:

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

3 Cevap

Bu kural ile kendimi sabit:

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

İşte mod_rewrite örnek:

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

Sizin örnek ben görebiliyorum ne istediğiniz şekilde ters bir şekilde yönlendiriliyor.

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