Ben Apache'nin mod_rewrite uygulamak çalışıyorum PHP tabanlı bir web uygulaması var.
Original URLs are of the form:
http://example.com/index.php?page=home&x=5
And I'd like to transform these into:
http://example.com/home?x=5
Sayfa adını yeniden ederken, ben de etkili soru işareti "hareketli" değilim unutmayın. Bunu yapmak için çalıştığınızda, Apache mutlulukla bu çevirisini gerçekleştirir:
RewriteRule ^/([a-z]+)\?(.+)$ /index.php?page=$1&$2 [NC,L]
Ama PHP $_GET
değişkenleri işler karışıyor. Örneğin, bir çağrı http://example.com/home?x=88
verimleri sadece bir $_GET
değişken (page => home
). x => 88
Nereye gittin? Ancak, yerine bir soru işareti daha bir işareti kullanmak için kuralı değiştirdiğinizde:
RewriteRule ^/([a-z]+)&(.+)$ /index.php?page=$1&$2 [NC,L]
http://example.com/home&x=88
I (yani her iki page
ve x
$ _GET değişkenleri uygun şekilde ayarlanır) onu beklediğiniz gibi çalışır gibi bir çağrı.
Fark Biliyorum az, ama bunun mümkün olmadığını, bir soru işareti ile "start" Benim URL değişkenlerini istiyorum. Ben bu mod_rewrite yönlendirmeleri PHP ile nasıl etkileşimde benim kendi yanlış anlama yansıttığından emin değilim, ama (bir yol veya başka) bunu yapmak mümkün olmalıdır gibi görünüyor.
Thanks in advance!
Cheers,
-Chris