Mod_Rewrite Soru

3 Cevap php

Ben example.com / kayıt ve example.com / kayıt / (eğik çizgi ile) için example.com / signup.php iletmek için çalışıyorum

Ben. Htaccess aşağıdaki yazdı ve example.com / Kayıt için çalışıyor / ama nasıl sorunu çözebilir ... eğik çizgi olmadan çalışmıyor?

RewriteEngine On
RewriteRule ^question/(.*)-(.*) /question.php?qid=$1
RewriteRule ^signup/ /signup.php

3 Cevap

RewriteEngine On
RewriteRule ^signup/?$ /signup.php

Soru işareti çizgi isteğe bağlı yapar ve dolar işareti sonu hattı demektir, bu yüzden hiçbir şey takip edebilirsiniz. İsterseniz $ kaldırabilirsiniz.

Ayrıca gibi bir şey ile URL'nin sonunda keyfi sorgu dizeleri izin verebilir:

RewriteRule ^signup/?(\?.*)?$ /signup.php$1

Bu sizin PHP komut dosyası üzerinde herhangi bir sorgu parametreleri geçirmek için izin verecek. Örneğin URL http://www.example.com/signup?destination=/front-page http://www.example.com/signup.php?destination=/front-page yönlendiriliyorsunuz olacaktır.

? niceliği ile eğik çizgi opsiyonel olun:

RewriteRule ^signup/?$ /signup.php

Ama sadece bir gösterim kullanımı ve diğeri yönlendirmek öneririz.

Eğik çizgiden sonra bir soru işareti koymak

RewriteRule ^signup/? /signup.php

? = Regex maçta bağlı tek bir karakteri