Php 如何在Laravel中使用具有不同页面和路由的多个域?

Php 如何在Laravel中使用具有不同页面和路由的多个域?,php,laravel,Php,Laravel,我已经有了答案,我想与需要的人分享解决方案 如何在Laravel中使用具有不同页面和路由的多个域?我花了很多时间寻找解决方案,但没有具体的解决方案,总是使用复杂而混乱的代码,最后我开发了一个具有干净代码的实用解决方案 1-首先,有必要将laravel集中在单个域中,然后您必须将其他域指向主域,您可以访问dns管理器并为此使用CNAME记录 2-在您的Laravel中,您必须在主页上创建一个包含以下内容的控制器,替换必要的内容: /** * Display a listing of the re

我已经有了答案,我想与需要的人分享解决方案


如何在Laravel中使用具有不同页面和路由的多个域?

我花了很多时间寻找解决方案,但没有具体的解决方案,总是使用复杂而混乱的代码,最后我开发了一个具有干净代码的实用解决方案

1-首先,有必要将laravel集中在单个域中,然后您必须将其他域指向主域,您可以访问dns管理器并为此使用CNAME记录

2-在您的Laravel中,您必须在主页上创建一个包含以下内容的控制器,替换必要的内容:

/**
 * Display a listing of the resource.
 *
 * @return \Illuminate\Http\Response
 */
public function index(Request $request)
{
    $origin = array("mydomain.com", "mydomain2.com");
    $domain = parse_url(request()->root())['host'];

    if (in_array($domain, $origin)) {
        if ($domain === 'mydomain.com') {
            return view('myview'));
        } 
        if ($domain === 'mydomain2.com') {
            return view('myview2'));
        } 
    } else{ 
        return view('unauthorized');
    } 
}
3-最后(可选),创建一个只有该域才能访问的URL路由,执行以下操作:

Route::group(array('domain' => 'mydomain.com'), function () {
    /* routes here */
    Route::get('/', 'YouController@index');
});

Route::group(array('domain' => 'mydomain2.com'), function () {
    /* routes here */
    Route::get('/', 'YouController@index');
});

你必须将mydomain.com和mydomain2.com更改为你想要的域,否则{}你必须用有效的视图替换unauthorized,这是当域未列出时会出现的内容,如果你想要,你可以这样做,o服务器也不会显示任何内容。

投反对票的人有理由说为什么,我仍然在为这个网站做贡献,我没有义务,做一个简短的调查,你会发现这个目标的问题没有得到回答,或者回答得很差。