【发布时间】:2018-06-23 16:14:57
【问题描述】:
我在同一个 VPS 上运行多个 Laravel 站点(基于 IP,无域)。 这一切都通过在 Apache conf 中使用它来工作:
<VirtualHost *:80>
Alias /site1 "/var/www/site1/public"
<Directory "/var/www/site1/public">
Allowoverride All
</Directory>
Alias /site2 "/var/www/site2/public"
<Directory "/var/www/site2/public">
Allowoverride All
</Directory>
然后每个站点都有自己的vhost.conf文件如:
site1.conf:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/site1/public/
ServerName site1
</VirtualHost>
这很完美,因此当我转到 [IP 地址]/site1 和 [IP 地址]/site2 时,我会被 Apache 正确重定向。
主要问题是,当我将代码从本地计算机移动到 VPS 时,所有绝对链接(即以斜杠 / 开头的 css 和 js)都指向服务器的根目录而不是站点的根目录。
有没有办法通过 .htaccess 或通过 Apache 配置让每个站点都有自己的相对根?我已经尝试过基本标签,但它还不够好,我想我可能缺少 Apache 专业知识来知道如何正确地做到这一点。我试过 Location 和 LocationMatch 没有成功。
我试图避免遍历每个 url 引用并添加 siteX/css、siteX/js 等。
谢谢!
【问题讨论】: