我想通过多个域访问单个 Laravel 应用程序。
对于路由,我使用了 Laravel 路由模式,例如。
$appRoutes = function() {
Route::group(['namespace'=>"Interface1"], function(){
/** route for index page and User authentication pages **/
Route::get('/', 'LoginController@showLoginForm')->name('login');
});
};
Route::group(array('domain' => 'example1.com'), $appRoutes);
Route::group(array('domain' => 'example2.com'), $appRoutes);
Run Code Online (Sandbox Code Playgroud)
现在,对于每个域,我已经替换了 AppServiceProvider.php 注册方法中的配置变量值:
if(isset($_SERVER['HTTP_HOST']) && !empty($_SERVER['HTTP_HOST']) ){
if($_SERVER['HTTP_HOST']=='example1.com'){
$configArray = [
'APP_NAME' => 'Application 1',
'APP_URL' => 'http://example1.com',
];
}else{
$configArray = [
'APP_NAME' => 'Application 2',
'APP_URL' => 'http://example2.com,
];
}
config($configArray);
}
Run Code Online (Sandbox Code Playgroud)
但我仍然没有使用正确的域名网址url(config('app.url'))
如何加载.env每个域的所有变量覆盖?