Thinkphp3.2访问Url时去掉模块
通常我們在訪問tp目錄的時候是:http://xxx/index.php/Home/Index/index,以/模塊/控制器/操作的方式訪問,但是這樣的話對于Url的優化不好,所以我們通常都會隱藏掉Home(模塊),以http://xxx/index.php/Index/index這種方式來訪問。
在tp的官網文檔里是說在配置文件里配置了這2個就可以達到了這個效果了,但是實際是還不行的。
所以在這里可以推薦2種方法來達到這種效果
1、在index.php文件加上以下代碼
define('DEFAULT_MODULE','Home') //設置默認模塊
2、修改Thinkphp/Libary/Think/Dispather.class.php文件
$_GET[$varModule] = preg_replace('/\.' . __EXT__ . '$/i', '',$paths[0]);
$_SERVER['PATH_INFO'] = isset($paths[1])?$paths[1]:'';
改成
$allowList = C('MODULE_ALLOW_LIST'); // 允許的模塊列表
$module = preg_replace('/\.' . __EXT__ . '$/i', '',$paths[0]);
if( empty($allowList) || (is_array($allowList) && in_array_case($module, $allowList))){
$_GET[$varModule] = $module;
$_SERVER['PATH_INFO'] = isset($paths[1])?$paths[1]:'';
}
操作后即可達到效果。
轉載于:https://blog.51cto.com/12643313/1904372
總結
以上是生活随笔為你收集整理的Thinkphp3.2访问Url时去掉模块的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript思维导图之数组
- 下一篇: centos7 安装配置mesos+ma