1 回答

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊
我花了很多時(shí)間尋找解決方案,但沒有具體的,總是代碼復(fù)雜而混亂,最后我用干凈的代碼開發(fā)了一個(gè)實(shí)用的解決方案。
1 - 首先,需要將 laravel 集中在一個(gè)域中,然后您必須將其他域指向主域,您可以訪問您的 dns 管理器并為此使用 CNAME 記錄。
2 - 在 Laravel 中,您必須在主頁(yè)上創(chuàng)建一個(gè)控制器,其中包含以下內(nèi)容,替換必要的內(nèi)容:
/**
* 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 - 最后(可選),創(chuàng)建一個(gè)包含只能由該域訪問的 url 的路由,執(zhí)行以下操作:
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 更改為您想要的域,否則您必須將未經(jīng)授權(quán)的視圖替換為有效視圖,這是當(dāng)域未列出時(shí)會(huì)出現(xiàn)的內(nèi)容,如果您愿意,您也可以執(zhí)行 o 服務(wù)器什么也沒顯示。
- 1 回答
- 0 關(guān)注
- 122 瀏覽
添加回答
舉報(bào)