TP5.1 miss路由不生效


問題描述:

路由設置 (配置文件已開啟強制路由和路由完全匹配)

<?php
// route/route.php
Route::get('/', function () {
    return 'hello,ThinkPHP5!';
});

Route::miss(function(){
    return '非法請求';
});

直接訪問 域名 正常

 

 

 訪問其他 未定義的路由地址 域名/a 提示錯誤消息,而不是跳到miss路由,miss路由未生效!

 

 

 問題分析與解決

 

 

 

URL訪問中還有一個 入口文件 的概念,默認為 index.php ,路由匹配需要結合入口文件一起才會生效。

修改訪問地址 域名/入口文件/ ,路由訪問正常

 

 

 

 

 修改訪問地址 域名/入口文件/a , miss路由生效

 

那有沒有方法可以使 域名/a 直接生效而不用寫入口文件呢?答案是有的,那就是隱藏入口文件

以apache服務器為例,將 TP框架public/.htacces文件作以下修改

RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]

重新以 域名/a 的方式去訪問,可以正常匹配到miss路由

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM