讓ThinkPHP支援大小寫url地址訪問的方法,thinkphp大小寫_PHP教程

來源:互聯網
上載者:User

讓ThinkPHP支援大小寫url地址訪問的方法,thinkphp大小寫


本文執行個體講述了讓thinkphp支援大小寫url地址訪問的方法。分享給大家供大家參考。具體實現方法如下:

通常ThinkPHP預設是區別大小寫url的,這種也是與linux系統一樣在小寫url是兩個不同的名字,但我們使用windows習慣了對於大小寫都認為一樣的,所以還是要根據使用者習慣來處理問題,下面我們一起來看問題解決方案。

在設定檔中開啟了thinkphp的大小寫識別功能,使連結大小寫都可以正常訪問:
'URL_CASE_INSENSITIVE' =>true
檔案命名都是規範的,但是在模板中使用__URL__擷取當前url路徑時,卻沒有正確得到url。
手冊中這樣寫:
這裡需要注意一個地方,如果我們定義了一個UserTypeAction的模組類,那麼URL的訪問應該是:
http://serverName/index.php/user_type/list
而不是
http://serverName/index.php/usertype/list
在模板中使用__URL__得到的連結還是下面那個,並沒有加上底線。
這個問題在網上也有很多人反饋,有個解決辦法是修改tp的原始碼:
在tp的Lib檔案夾的Core檔案夾下的Dispatcher.class.php檔案,找到181行,這裡定義了__URL__的地址擷取方式:

複製代碼 代碼如下:$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) );
}
把其中的複製代碼 代碼如下:C('URL_CASE_INSENSITIVE') ? strtolower($moduleName) : $moduleName )改成:
複製代碼 代碼如下:C('URL_CASE_INSENSITIVE')?parse_name($moduleName,0):$moduleName
這樣問題就搞定了!

希望本文所述對大家的ThinkPHP架構程式設計有所協助。


thinkphp路徑大小寫與url問題

Public檔案夾是否在根目錄?如果是,可以用/Public/或__PUBLIC__/(雙底線)。
 

ThinkPHP怎讓URL中的分組名自動都是小寫? - PHP架構開發

我也被這個問題困擾了整個下午,最後我在 ThinkPHP/Common/functions.php 的U函數最後加了一句[ol][*]$url = C(\'URL_CASE_INSENSITIVE\')?strtolower($url):$url;[/ol]
 

http://www.bkjia.com/PHPjc/904012.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/904012.htmlTechArticle讓ThinkPHP支援大小寫url地址訪問的方法,thinkphp大小寫 本文執行個體講述了讓thinkphp支援大小寫url地址訪問的方法。分享給大家供大家參考。具體...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.