Ben CodeIgniter kullanarak bir PHP uygulama inşa ediyorum. Bu bir metin giriş kutusuna bir cümle yazmak nerede Let Me Google That For You
, göndermek tıklatın benzer ve sonucunu görüntüleyen bir URL alınır. Ben URL düzenlenebilir-insan ve nispeten basit olmak istedim. Ben CodeIgniter URL yönlendirme etrafında ele verdik, bu yüzden şu anda benim URL'leri bu gibi görünebilir:
http://website.com/?q=this+is+a+normal+url
Cümle bir soru işareti gibi özel bir karakter veya bir ters eğik çizgi içeren zaman şu anda bir sorundur. Benim şimdiki bu karmaşa iki .htaccess
kurallarını yeniden ve karakter kodlanmış bile olmuyor.
http://website.com/?q=this+is+a+normal+url? OR
http://website.com/?q=this+is+a+normal+url%3F
Ne iş yapar çift kodlama. Örneğin, ben soru işareti almak, ve %253F
(?% 3F kodlanmış ve% işareti% 25 kodlanmış olduğu) kodlamak eğer. Bu url düzgün çalışır.
http://website.com/?q=this+is+a+normal+url%253F
Herkes burada ne yapabilirim bir fikir var mı? Ben çift giriş kodlamak olabilir akıllı bir yolu var mı? Ben bu almak için bir .htaccess
yazma kuralı yazabilir miyim? Ben burada bir kaybı var. İşte şu anda herkes için kullanıyorum yazma kuralları vardır.
RewriteEngine on
RewriteCond %{QUERY_STRING} ^q=(.*)$
RewriteRule ^(.*)$ /index.php/app/create/%{QUERY_STRING}? [L]
Note: CodeIgniter çalışır şekilde bir index/application/function/parameter
URL kurulum var olduğunu. Ben şu anda işlevini tam sorgu dizesi besliyorum.