想在所有的请求路由前增加某一个目录,求教大佬们如何配置?(已解决)

defence

比如目前的地址是:
原来:127.0.0.1:8787/api/test
我想设置成 127.0.0.1:8787/webman/api/test
原来:127.0.0.1:8787/app/admin
我想设置成 127.0.0.1:8787/webman/app/admin

目前路由配置文件是空的,所有路由走的是默认路由
截图
需要在目前的的路由基础上,增加一层路由webman

587 3 0
3个回答

ric

最外面加一层

Route::group('/webman', function () {

});

就行了

  • defence 2023-10-07

    谢谢解答,是需要把所有的路由写在里面?

  • ric 2023-10-08

    是的

  • defence 2023-10-08

    😂那好像不可行,admin插件路由太多了

  • ric 2023-10-08

    ???看下你的结构?按理来说就外面包一层,一行代码的事哇?

  • ric 2023-10-08

    还是不行的话,就在support/Request.php 类添加个方法

    //重写获取path用于域名路由
        public function path()
        {
                $uri = $this->uri();
    $prefix = '/webman';
    $uri = str_replace($prefix, '', $uri);
    $this->_data['path'] = (string)\parse_url($uri, PHP_URL_PATH);
    
            return $this->_data['path'];
        }

    也可以用nginx进行做代理,

  • defence 2023-10-08

    support/Request.php这个方法可以了 谢谢大佬

TM
    Route::group('/home',function () {
      Route::any('/platformHome', [\App\admin\controller\platform\PlatformController::class, 'platformHome']);
        Route::any('/yearPlatformHome', [\App\admin\controller\platform\PlatformController::class, 'yearPlatformHome'])    })->middleware($ADMIN_MID);
  • defence 2023-10-08

    谢谢解答,试了不行 404
    Route::group('/webman', function () {
    Route::any('/api', [\app\controller\ApiController::class, 'api']);
    });

小W

nginx代理

  • 暂无评论
年代过于久远,无法发表回答
×
🔝