2010-11-01 22 views
27

Bir htaccess url yeniden yazdıktan sonra url parametrelerinin çalışmasını engelleyen sorunlar yaşıyorum..htaccess RewriteRule GET URL parametrelerini korumak için

RewriteEngine on 
RewriteRule ^([a-z]{2,2})/([a-zA-Z0-9_-]+)$ index.php?lang=$1&page=$2 

Anlamı: Ben olduğum beni URL'lerin sonunda ?model=AB123&color=something eklemek Nedense domain.com/en/product

olarak

domain.com/index.php?lang=en&page=product görüntüler şöyle

Benim htaccess yeniden olduğunu Bu parametreleri, görüntülenen URL’de mevcut olsalar bile, php’de $_GET['model'] ve $_GET['color']’u kullanarak alamaz.

Neden değişkenler iletilmiyor?

cevap

61

[QSA] (sorgu dizesi eki) etiketiyle eklemeniz gerekir.

RewriteEngine on 
RewriteRule ^([a-z]{2,2})/([a-zA-Z0-9_-]+)$ index.php?lang=$1&page=$2 [QSA] 

+4

http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html Çok teşekkür ederim bakın deneyin. İşe yaradı. Çözdüğüm bazı şeylerden sonra çözümün ne kadar basit olduğunu ... – Enkay

+0

QSA etiketinde bile benimki üzerinde çalışmıyor gibi görünüyor. Doğru sayfa görüntülenir, ancak $ _GET erişilemez gibi göründüğü için, bir sürü hata atar. RewriteRule^details/([^ /]) /? $ Detaylarını kullanıyorum? Pin = $ 1 [QSA] ' – Lee

+0

Cevabınız için teşekkürler. İşe yaradı. – Vinay