問題:
當你訪問一個不存在的方法的時候:
如: http://localhost/test/index.php/Home/User/getList
會報以下錯:php:(
非法操做:getList
錯誤位置
FILE: D:\phpStudy\WWW\test\ThinkPHP\Library\Think\Controller.class.php LINE: 170thinkphp
解決:
只須要在控制器中寫以下方法便OK。this
/** * 空操做 */ public function _empty() { $this->error( '很抱歉,您要訪問的頁面不存在!' ); }
問題:
當你訪問一個不存在的控制器的時候:
如: http://localhost/test/index.php/Home/Power/getList
會報以下錯:spa:(
沒法加載控制器:Power
錯誤位置
FILE: D:\phpStudy\WWW\test\ThinkPHP\Library\Think\App.class.php LINE: 101code
解決:
新加一個空控制器、而後將空操做方法放置其中。get
新建控制器:EmptyController.class.php 具體代碼以下: <?php namespace Home\Controller; use Think\Controller; class EmptyController extends Controller { /** * 空操做 */ public function _empty() { $this->error( '很抱歉,您要訪問的頁面不存在!' ); } } ?>
問題:
當你訪問一個不存在的模塊的時候:
如: http://localhost/test/index.php/Boss/User/getList
會報以下錯:io:(
沒法加載模塊:Boss
錯誤位置
FILE: D:\phpStudy\WWW\test\ThinkPHP\Library\Think\Dispatcher.class.php LINE: 178function
解決:
結合上面的空方法、空控制器。class
在公共配置文件 ( \test\ThinkPHP\Conf\convention.php ) 中添加如下配置: // 容許訪問的模塊 'MODULE_ALLOW_LIST' => array( 'Home','Admin' ), // 默認模塊 'DEFAULT_MODULE' => 'Home', // 上面的'DEFAULT_MODULE' 很重要 // 由於當你模塊名寫錯的時候,tp的基類已經把錯的模塊名當成了控制器名,就會變成Home/Boss,也時候就是走的空控制器了