怎么在ThinkPHP中設(shè)置大小寫url地址訪問?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
建網(wǎng)站原本是網(wǎng)站策劃師、網(wǎng)絡(luò)程序員、網(wǎng)頁設(shè)計師等,應(yīng)用各種網(wǎng)絡(luò)程序開發(fā)技術(shù)和網(wǎng)頁設(shè)計技術(shù)配合操作的協(xié)同工作。創(chuàng)新互聯(lián)專業(yè)提供網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站制作(企業(yè)站、成都響應(yīng)式網(wǎng)站建設(shè)、電商門戶網(wǎng)站)等服務(wù),從網(wǎng)站深度策劃、搜索引擎友好度優(yōu)化到用戶體驗的提升,我們力求做到極致!thinkphp屬于一種免費的開發(fā)框架,能夠用于開發(fā)前端網(wǎng)頁,最早thinkphp是為了簡化開發(fā)而產(chǎn)生的,thinkphp同時也是遵循Apache2協(xié)議,最初是從Struts演變過來,也把國外一些好的框架模式進行利用,使用面向?qū)ο蟮拈_發(fā)結(jié)構(gòu),兼容了很多標(biāo)簽庫等模式,它能夠更方便和快捷的開發(fā)和部署應(yīng)用,當(dāng)然不僅僅是企業(yè)級應(yīng)用,任何php應(yīng)用開發(fā)都可以從thinkphp的簡單、兼容和快速的特性中受益。
具體實現(xiàn)方法如下:
通常ThinkPHP默認(rèn)是區(qū)別大小寫url的,這種也是與linux系統(tǒng)一樣在小寫url是兩個不同的名字,但我們使用windows習(xí)慣了對于大小寫都認(rèn)為一樣的,所以還是要根據(jù)用戶習(xí)慣來處理問題,下面我們一起來看問題解決方法。
在配置文件中開啟了thinkphp的大小寫識別功能,使鏈接大小寫都可以正常訪問:
'URL_CASE_INSENSITIVE' =>true
文件命名都是規(guī)范的,但是在模板中使用__URL__獲取當(dāng)前url路徑時,卻沒有正確得到url。
手冊中這樣寫:
這里需要注意一個地方,如果我們定義了一個UserTypeAction的模塊類,那么URL的訪問應(yīng)該是:
http://serverName/index.php/user_type/list
而不是
http://serverName/index.php/usertype/list
在模板中使用__URL__得到的鏈接還是下面那個,并沒有加上下劃線。
這個問題在網(wǎng)上也有很多人反饋,有個解決辦法是修改tp的源代碼:
在tp的Lib文件夾的Core文件夾下的Dispatcher.class.php文件,找到181行,這里定義了__URL__的地址獲取方式:
復(fù)制代碼 代碼如下:
$moduleName = defined('MODULE_ALIAS')?MODULE_ALIAS:MODULE_NAME;
if(defined('GROUP_NAME')) {
define('__URL__',!empty($domainModule)?__GROUP__.$depr : __GROUP__.$depr.( C('URL_CASE_INSENSITIVE') ? strtolower($moduleName) : $moduleName ) );
}else{
define('__URL__',!empty($domainModule)?__APP__.'/' : __APP__.'/'.( C('URL_CASE_INSENSITIVE') ? strtolower($moduleName) : $moduleName) );
}
把其中的
復(fù)制代碼 代碼如下:
C('URL_CASE_INSENSITIVE') ? strtolower($moduleName) : $moduleName )
改成:
復(fù)制代碼 代碼如下:
C('URL_CASE_INSENSITIVE')?parse_name($moduleName,0):$moduleName
看完上述內(nèi)容,你們掌握怎么在ThinkPHP中設(shè)置大小寫url地址訪問的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!