刚试了把 prefix 留空不行,其实配置说明也说了
If you want to access through the root path, just set the prefix to empty string.
把 prefix 留空的话也只是可以通过根路径访问,例如
原来 http://lv.com/admin 变成 http://lv.com
当然我可以创建一个 http://admin.lv.com 指向主机也可以达到同样的效果,可是实际上我把 prefix 留空后
用 http://www.lv.com 访问最终是访问到了 route/web.php 这里的路由
实际我想达到的效果是有三个独立的域名:
http://api.lv.com 接口域名,已经用 dingo api 实现
http://admin.lv.com 访问 laravel-admin
http://www.lv.com 官网
建议开发团队可以参考一下 dingo api 的设置方式
默认使用后缀
API_PREFIX=api
prefix和domain 有且只有一个
API_DOMAIN=api.lv.com
你可以在app/Admin/routes.php里面,把所有的路由放到同一个domain的group里面
```php
Route::group(['domain' => 'admin.lv.com'], function () {
Admin::registerAuthRoutes();
// 其它路由
});
感谢,这样完美的解决了我的问题
修改 app/Admin/routes.php
Route::group([
'prefix' => config('admin.route.prefix'),
'domain' => config('admin.route.domain'),
'namespace' => config('admin.route.namespace'),
'middleware' => config('admin.route.middleware'),
], function (Router $router) {
$router->get('/', 'HomeController@index');
});
再修改 config/admin.php
'route' => [
'domain' => env('ADMIN_DOMAIN', null),
'prefix' => env('ADMIN_PREFIX', 'admin'),
'namespace' => 'App\\Admin\\Controllers',
'middleware' => ['web', 'admin'],
],
再在 env 文件中加入ADMIN_DOMAIN 和 ADMIN_PREFIX
详细看一下我刚基于 laravel 5.7 和 laravel-admin 1.6.7 融合的一个基础项目,非常适合新项目使用
@ooking 挺不错的解决方法,点赞
Most helpful comment
感谢,这样完美的解决了我的问题
修改 app/Admin/routes.php
再修改 config/admin.php
再在 env 文件中加入ADMIN_DOMAIN 和 ADMIN_PREFIX
详细看一下我刚基于 laravel 5.7 和 laravel-admin 1.6.7 融合的一个基础项目,非常适合新项目使用
https://github.com/ooking/laravel-beginning/