from:http://www.111cn.net/phper/thinkPhp/57748.htmphp
1、在配置文件中開啓了thinkphp的大小寫識別功能,使連接大小寫均可以正常訪問:thinkphp
‘URL_CASE_INSENSITIVE’ =>truedom
文件命名都是規範的,可是在模板中使用__URL__獲取當前url路徑時,卻沒有正確獲得url。url
手冊中這樣寫:spa
這裏須要注意一個地方,若是咱們定義了一個UserTypeAction的模塊類,那麼URL的訪問應該是:.net
http://serverName/index.php/user_type/listserver
而不是htm
http://serverName/index.php/usertype/listget
在模板中使用__URL__獲得的連接仍是下面那個,並無加上下劃線。io
2、解決辦法是修改tp的源代碼:
在tp的Lib文件夾的Core文件夾下的Dispatcher.class.php文件,找到181行,這裏定義了__URL__的地址獲取方式:
代碼以下 複製代碼
$moduleName = defined('MODULE_ALIAS')?MODULE_ALIAS:MODULE_NAME;
if(define(www.111cn.net)d('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
這樣就OK了!