thinkphp6 强制路由不生效问题 以及Url路由去掉应用目录

1.路由不生效

TP6开启自动多应用之后再开启强制路由,这时定义的路由都是无效路由,需要在你的应用文件夹下面创建route文件夹并在里面创建任意名称的php文件比如:app/index/route/app[可以随意自定义].php 在这个文件里面定义的路由才是可用路由,注意每个应用与应用之间的路由不是互通图的。他们可以创建一模一样的路由,访问路由的时候 会形成[域名]/index.php/[应用名]/[定义的路由] 的奇葩风格。

2.去掉Url上面的应用名

正常的TP6的入口文件

<?php
namespace think;
// 引入自动加载包
require __DIR__ . '/../vendor/autoload.php';
// 执行HTTP应用并响应
$http = (new App())->http;
$response = $http->run();
$response->send();
$http->end($response);

修改为:

<?php
namespace think;
// 引入自动加载包
require __DIR__ . '/../vendor/autoload.php';
// 执行HTTP应用并响应
$http = (new App())->http;
$response = $http->name('home')->run();  
$response->send();
$http->end($response);

以上代码使用了使用->name() 绑定应用名字,这个时候index.php的入口文件只能访问一个应用,如果有多个应用则需要创建多个入口文件。

本作品采用《CC 协议》,转载必须注明作者和本文链接
VeryCool
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!