Thinkphp3.2访问Url时去掉模块-创新互联

通常我们在访问tp目录的时候是:http://xxx/index.php/Home/Index/index,以/模块/控制器/操作的方式访问,但是这样的话对于Url的优化不好,所以我们通常都会隐藏掉Home(模块),以http://xxx/index.php/Index/index这种方式来访问。

创新互联建站凭借在网站建设、网站推广领域领先的技术能力和多年的行业经验,为客户提供超值的营销型网站建设服务,我们始终认为:好的营销型网站就是好的业务员。我们已成功为企业单位、个人等客户提供了成都做网站、成都网站设计服务,以良好的商业信誉,完善的服务及深厚的技术力量处于同行领先地位。

在tp的官网文档里是说在配置文件里配置了这2个就可以达到了这个效果了,但是实际是还不行的。

Thinkphp3.2访问Url时去掉模块

所以在这里可以推荐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]:'';
}

Thinkphp3.2访问Url时去掉模块

操作后即可达到效果。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前题目:Thinkphp3.2访问Url时去掉模块-创新互联
网页路径:http://scyanting.com/article/djhhgo.html