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