簡體   English   中英

Codeigniter網址中的括號問題

[英]Parenthesis issue in codeigniter url

我的項目url中很少包含括號,這是一個代碼點火器項目。 不幸的是我無法刪除它們。 所以我在配置文件夾的route.php中編寫以下規則:

$route['abc-(def)'] = 'locations/index/12492';
$route['abc-%28def%29'] = 'locations/index/12492';
$route['404_override'] = 'home/pagenotfoundhandler';

因此,當我嘗試訪問URL http://mydomain.com/abc-(def)http://mydomain.com/abc-%28def%29時,它將帶我到home / pagenotfoundhandler,而應該轉到位置控制器和索引方法。 請建議如何處理codeigniter中的括號。

括號是正則表達式模式的一部分,因此,如果要使用ascii字符,請嘗試轉義它們,如下所示:

$route['abc-\(def\)'] = 'locations/index/12492';

還有一個看的地方:

對於您的codeigniter系統,應該在config.php中設置允許的uri字符。 檢查是否允許使用括號。

另外,您可以禁用$config["csrf_protection"]以跳過url xss清除。

好吧,我猜這是因為找不到應該重定向到locations/index/12492的頁面http://mydomain.com/abc-(def) 因此會發生404 - Page not Found錯誤,這當然是您定義的錯誤,它會帶您到home/pagenotfoundhandler 確保路徑存在,或者甚至為什么不給出完整路徑以查看其是否有效!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM