Laravel-admin: 能否通过独立域名访问,例如 admin.lv.com

Created on 15 Nov 2018  ·  3Comments  ·  Source: z-song/laravel-admin

  • Laravel Version: 5.7.13
  • PHP Version:
  • Laravel-admin: 7.1.3

刚试了把 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

Most helpful comment

感谢,这样完美的解决了我的问题
修改 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 融合的一个基础项目,非常适合新项目使用

https://github.com/ooking/laravel-beginning/

All 3 comments

你可以在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 融合的一个基础项目,非常适合新项目使用

https://github.com/ooking/laravel-beginning/

@ooking 挺不错的解决方法,点赞

Was this page helpful?
0 / 5 - 0 ratings

Related issues

antranapp picture antranapp  ·  3Comments

joernroeder picture joernroeder  ·  3Comments

abufalbo picture abufalbo  ·  3Comments

qcol picture qcol  ·  3Comments

donglianyou picture donglianyou  ·  3Comments