thinkphp6 強制路由不生效問題 以及Url路由去掉應用目錄

VeryCool發表於2021-03-15

TP6開啟自動多應用之後再開啟強制路由,這時定義的路由都是無效路由,需要在你的應用資料夾下面建立route資料夾並在裡面建立任意名稱的php檔案比如:app/index/route/app[可以隨意自定義].php 在這個檔案裡面定義的路由才是可用路由,注意每個應用與應用之間的路由不是互通圖的。他們可以建立一模一樣的路由,訪問路由的時候 會形成[域名]/index.php/[應用名]/[定義的路由] 的奇葩風格。

正常的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 協議》,轉載必須註明作者和本文連結

相關文章