2013-02-01 46 views
1

我一直在研究一個項目,並且已經在localhost和免費的web服務器上進行了測試,並且它工作得很完美。但是,當我有我自己的域名和虛擬主機服務網站停止工作。CodeIgniter不允許使用QUERY_STRING的字符uri協議

爲了使它工作,我不得不把重寫規則更改爲

RewriteRule ^(.*)$ /index.php?$1 [L] 

,然後設置

$config['uri_protocol'] = 'QUERY_STRING'; 

然而,像這樣的鏈接;

http://www.mydomain.com/ajax/membersearch/anemail%40here.com 

以前用於工作,但現在它返回一個CI錯誤,指出「您提交的URI不允許使用字符。」

在我不得不改變RewriteRule和uri_protocol之前,這工作完美,所以我想知道是什麼讓它現在不工作,以及如何解決它?

回答

0

您可能需要更新您的config.php文件。用以下行替換默認的允許字符設置:

$config['permitted_uri_chars'] = 'a-z 0-9~%\.\:_\+-,'; 
+0

等待...%和。在默認情況下...讓我檢查這個 –

+0

您是否找到了解決方案?我沒有:(.. – Unidan

+0

我的假設是,你可能想要將uri_protocol設置回PATH_INFO - 如果你還需要查詢字符串,你可以添加?和=到允許的字符,儘管我從來沒有用CI通常我在使用參數時不需要查詢字符串URI。 –