我试图在Laravel中创建一个多站点,所以一个代码库,但有几个站点在运行。每个站点都具有类似的功能,因此可以重用代码,但每个站点将使用不同的主题 - 我想这将简单到在views文件夹中具有不同的主题并根据客户已经通过的域映射它们。
我希望能够从www.sitex.com访问Site X,从www.sitey.com等访问Site Y,同时只安装一个laravel而不是诉诸任何vhosts tomfoolery。
你们中的任何人都会如此善意地向我提出解决方案的建议,或指出我正确的方向吗?到目前为止,我一直没有找到任何运气!
由于
答案 0 :(得分:0)
如果您的路由不会太复杂,那么您可能会因拥有众多公共文件夹而失控
laravel
app
bootstrap
sitex.com
sitey.com
vendor
然后你的每个站点都是它自己的虚拟主机,没有像这样的时髦别名规则(为了安全起见,请确保无法访问laravel根目录):
DocumentRoot "/var/www/laravel/sitex.com"
最后,您将在 bootstrap / paths.php 中放置一个变量,其中公共路径为
'public' => __DIR__.'/../'.preg_match('/\w+.com/',$_SERVER['SERVER_NAME']),
即使使用子域路由,这应该适用于大多数部署,因为bootstrap是从每个公用文件夹中的index.php文件启动的。如果你想使用工匠加载内置的php服务器,你需要提供--host
,否则它将无效。我遇到的这个设置会有一些限制,所以如果有其他人知道我想要了解自己的更好的方式。