Apache htaccess yeniden yazma URL kuralları?

2 Cevap php

Htaccess URL'yi takip için URL yeniden yazma kuralları oluşturmak istiyorum.

http://example.com/vedios/category/fun/ -> http://example.com/vedios/category.php?cat=fun

http://example.com/vedios/category/fun/?show=popular -> http://example.com/vedios/category.php?cat=comedy&show=popular

http://example.com/vedios/category/fun/?show=popular&page=2 -> http://example.com/vedios/category.php?cat=comedy&show=popular&page=2

http://example.com/vedios/category/fun/comedy/ -> http://example.com/vedios/category.php?cat=comedy

http://example.com/vedios/category/fun/comedy/?show=popular -> http://example.com/vedios/category.php?cat=comedy&show=popular

http://example.com/vedios/category/fun/comedy/?show=popular&page=3 -> http://example.com/vedios/category.php?cat=comedy&show=popular&page=3

I RewriteRule category/([^.]+)/?([^.]+)$ /vedio/category.php?cat=$1&$2 http://example.com/vedio/category.php?cat=fun&show=popular&page=1 için çalıştı ama onun değil çalışma.

Ne yukarıdaki gereksinimleri için doğru URL yeniden yazma kuralları olabilir Lütfen söyle bana?

2 Cevap

Sorgu RewriteRule direktifi içerisinde kontrol ediyor URL yolunun bir parçası değildir. Bunu yapmak için bir RewriteCond yönergesine ihtiyacınız olacaktır.

Ama sadece yeni birine eklenen ilk sorgu dize almak için QSA flag ayarlamanız gerekir:

RewriteRule category/([^.]+)/$ /vedio/category.php?cat=$1 [QSA]

Kategori script için My sıradanifade:

/vedio/category/([^.]+)/\?([^.]+)$

Mod_rewrite Betiğinize için tüm URL (sunucu + port + yol) veya sadece yol değerlendirmek eğer bağlıdır.