在thinkphp中,可修改「/ThinkPHP/Conf/convention.php」內的參數實作url不區分大小寫,只需要在專案配置中新增「URL_CASE_INSENSITIVE=true」。 url不區分大小寫不會改變命名規則。
本文操作環境:linux7.3系統、ThinkPHP5版、Dell G3電腦。
thinkphp是透過URL來定位模組類別從而執行操作方法的,這裡就出現了一個問題,就是URL大小寫的問題,大家都知道,在linux下面對大小寫是很敏感的,也就是區分大小寫的,然而linux環境下的php虛擬主機都是對php程式碼的支援是其它作業系統(如windows系統)要好,而thinkphp的url是區分大小寫的,
為了避免這種需求方式的矛盾,如何將thinkphp的url整理的和普通cms系統一樣,沒有大小寫的區分類?
例如在linux環境下面,我們訪問下面的URL是正常的。
//m.sbmmt.com/index.php/User/add
但是,如果我們這樣訪問
//m.sbmmt.com/index.php/User/add
就會出現模組不存在的錯誤,因為我們定義的是UserAction而不是userAction,所以在對大小寫敏感的環境下就會出錯,這樣的問題會造成使用者體驗的下降。其實我們要解決這個問題也是很簡單的,系統就為我們提供了方案,
就是透過設定項來定義,這個thinkphp裡面的配置項目很重要的。
需要修改設定:/ThinkPHP/Conf/convention.php的參數:
##我們只需要在專案配置中增加如下:‘URL_CASE_INSENSITIVE’=>true這樣就可以實現URL不區分大小寫了,這裡有個需要注意的地方就是,如果你定義的是這樣類型的模組類UserTypeAction,模組名兩個首字母大寫,通過加下劃線的方式來訪問,
http://www.51php.com/index.php/user_type/addURL不區分大小寫並不會改變系統的命名規範,並且只有按照系統的命名規範後才能正確的實作URL不區分大小寫。
PHP影片教學》
以上是thinkphp中url怎麼不區分大小寫的詳細內容。更多資訊請關注PHP中文網其他相關文章!