Belirli GET değişkenleri şerit mod_rewrite kullanarak

2 Cevap php

Ben mod_rewrite çaylak ve ben basit olması gereken bir şey anlamaya çalışıyorum bir baş ağrısı alıyorum. Ne yapmaya çalışıyorum bir GET form kullanıldığında sonra görüntülenen bir URL'den istenmeyen değişkenler dışında şerit olduğunu. Diğer bir deyişle, bu değiştirmeye çalışıyorum:

stats.php?gender=W&team_id=88&btnGet=Get+Stats

Bunun için:

stats.php?team_id=88

Lütfen bana yardım edin!

EDIT: Ben yapmam gereken "adını" kaldırmak oldu 'cinsiyet' ve Gönder düğmesine benim formunda bağlıyor. Çözüm için çok fazla php ve bamya için teşekkürler! Tabii ki, bu yerine getirmeye çok daha kolay bir yolu yoktu. :)

2 Cevap

Bu bile ne elde ederim? URL hala kullanıcının adres çubuğunda tam olarak aynı görünür, ve PHP mod_rewrite hiç olacak daha $_GET değişkenleri abitrary görmezden daha yetenekli.

'name="btnGet"' Lütfen gönder düğmesine basın ve bırakın 'gender' alanında niteliğini de kaldırmayı deneyin. Ayrıca dinamik gerekli değildir form öğeleri kaldırmak için Javascript kullanabilirsiniz.

RewriteCond %{QUERY_STRING} team_id=([0-9]+)
RewriteCond %{QUERY_STRING} btnGet
RewriteRule stats.php stats.php?team_id=%1 [R]

Sen RewriteRule ile sorgu dizeleri maç olamaz - RewriteCond kullanmak zorunda.

"Çok fazla" diyor Eğer sayfayı yeniden sürece, sadece yeniden yazılmasında yapıyor kullanıcıya herhangi görünür bir değişikliğe neden olmaz. Yani [R] programın mantığı için çalışmayabilir bir yönlendirme yerine, basit bir yeniden yazma, zorlamak gerekir.