我在example.com上运行了两个版本的站点 和其他在example.com/version2。
在web.php我有
Route::group(['middleware'=>['webconfig'],'prefix'=>'version2'], function(){
//Routes for version2 site
});
// Routes for main site
在webconfig中间件中,我为version2站点设置了数据库连接。哪个工作正常但我也在为version2站点设置基本URL。哪个不起作用url()
方法返回example.com
这是我的webconfig中间件
public function handle($request, Closure $next)
{
\Config::set('database.default', 'mysql_us');
\Config::set('app.url', url('version2'));
return $next($request);
}
那么如何设置动态基本网址。
答案 0 :(得分:1)
在.env文件中指定APP_URL = http://example.com/version2
答案 1 :(得分:1)
由于您的2个版本部署在同一主机中,因此您只需添加前缀' version2
'为您的新版本。为什么不创建一个中间件来检查你的段(1)是否版本2,然后设置它正在使用的正确数据库。我相信当用户在version2
段时,您想要重定向到其他数据库,我是对的吗?
在这种情况下,您可以在中间件中使用这样的解决方案,
if(Str::lower($request->segment(1) == "version2"){
config()->set('database.default', 'mysql_us');
}else{
//your another config.
}
我希望这可以帮助您解决问题。