在thinkphp中,可修改“/ThinkPHP/Conf/convention.php”內(nèi)的參數(shù)實(shí)現(xiàn)url不區(qū)分大小寫(xiě),只需要在項(xiàng)目配置中添加“URL_CASE_INSENSITIVE=true”即可。url不區(qū)分大小寫(xiě)不會(huì)改變命名規(guī)則。
本文操作環(huán)境:linux7.3系統(tǒng)、ThinkPHP5版、Dell G3電腦。
thinkphp中url怎么不區(qū)分大小寫(xiě)
thinkphp是通過(guò)URL來(lái)定位模塊類(lèi)從而執(zhí)行操作方法的,這里就出現(xiàn)了一個(gè)問(wèn)題,就是URL大小寫(xiě)的問(wèn)題,大家都知道,在linux下面對(duì)大小寫(xiě)是很敏感的,也就是區(qū)分大小寫(xiě)的,然而linux環(huán)境下的php虛擬主機(jī)都 是對(duì)php代碼的支持是其它操作系統(tǒng)(如windows系統(tǒng))要好,而thinkphp的url是區(qū)分大小寫(xiě)的,
為了避免這種需求方式的矛盾,如何將 thinkphp的url整理的和普通cms系統(tǒng)一樣,沒(méi)有大小寫(xiě)的區(qū)分類(lèi)?
比如在linux環(huán)境下面,我們?cè)L問(wèn)下面的URL是正常的。
http://www.php.cn/index.php/User/add
但是,如果我們這樣訪問(wèn)
http://www.php.cn/index.php/user/add
就會(huì)出現(xiàn)模塊不存在的錯(cuò)誤,因?yàn)槲覀兌x的是UserAction而不是userAction,所以在對(duì)大小寫(xiě)敏感的環(huán) 境下就會(huì)出錯(cuò),這樣的問(wèn)題會(huì)造成用戶體驗(yàn)的下降。其實(shí)我們要解決這個(gè)問(wèn)題也是很簡(jiǎn)單的,系統(tǒng)就為我們提供了方案,
就是通過(guò)配置項(xiàng)來(lái)定義,這個(gè)thinkphp里面的配置項(xiàng)很重要的。
需要修改配置:/ThinkPHP/Conf/convention.php的參數(shù):
我們只需要在項(xiàng)目配置中增加如下:
‘URL_CASE_INSENSITIVE’=>true
這樣就可以實(shí)現(xiàn)URL不區(qū)分大小寫(xiě)了,這里有個(gè)需要注意的地方就是,如果你定義的是這樣類(lèi)型的模塊類(lèi)UserTypeAction,模塊名兩個(gè)首字母大寫(xiě),通過(guò)加下劃線的方式來(lái)訪問(wèn),
http://www.51php.com/index.php/user_type/add
URL不區(qū)分大小寫(xiě)并不會(huì)改變系統(tǒng)的命名規(guī)范,并且只有按照系統(tǒng)的命名規(guī)范后才能正確的實(shí)現(xiàn)URL不區(qū)分大小寫(xiě)。
推薦學(xué)習(xí):《PHP視頻教程》