ModRewrite Bölünmüş Sayı

1 Cevap php

Bu basit bir cevabı var umarım bir karmaşık bir sorundur ...

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

Bu kural category/kitchen/10/0-0-0-0-0-0-0-0/1 alacağını

Aşağıdaki olsun vals ile:

category.php?c_id=10&filters=0-0-0-0-0-0-0-0&_p=1&name=kitchen

Filtreler 0-0-0-0-0-0-0-0 saklanan nedeni 9 geri referanslar sınırı oldu. Her 0 I $ _GET ['filtre'] bir bölünme yaparak erişilen farklı bir filtre değişken oldu.

Yazma kuralı olur ki şimdi, olmayan bir mod yeniden bir benim URL değişen duyuyorum:

RewriteRule ^category/([^.]+)/([0-9]+)/([^.]+)/([0-9]+) category.php?c_id=$2&filters=$3&_p=$4&name=$1 [R=301,L]

[= 301 R, L] not yüzden bir 301 yönlendirme olur.

Bu tüm ince ama bir her 0 get değişken böylece 0-0-0-0-0-0-0-0 bölme akıllı bir yol olup olmadığını merak ediyordum. Yani alabilirsiniz

category.php?c_id=10&f1=0&f2=0&f3=0&f4=0&f5=0&f6=0&f7=0&f8=0&_p=1&name=kitchen

Herhangi bir fikir?

Şimdiden teşekkürler!

1 Cevap

Sen RewriteCond bunu başarmak için kullanabilirsiniz:

RewriteCond $3 ^([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)$
RewriteRule ^category/([^.]+)/([0-9]+)/([^.]+)/([0-9]+) category.php?c_id=$2&f1=%1&f2=%2&f3=%3&f4=%4&f5=%5&f6=%6&f7=%7&f8=%8&f9=%9&_p=$4&name=$1 [R=301,L]