【发布时间】:2021-05-06 05:31:36
【问题描述】:
我只是在本地主机上使用 Mac OS 的本机 apache2 服务器。在我的 httpd.conf 文件中,我设置了
DocumentRoot "/Users/user_name/Local Sites/"
...该目录包含我在本地工作的所有网站:
Users
-user_name
--Local Sites
---site_1
---site_2
---site_3
---site_4
所以,对于我的 site_1 的特定 Laravel 项目,我在 .env 中设置了以下内容:
APP_URL=http://localhost/site_1
...再次在config/app.php:
'url' => env('APP_URL', 'http://localhost/site_1'),
但是,当我尝试使用 Laravel 的相对路径构建器之一时,它包含了我定义为文档根目录和服务器本地主机的整个路径上面。例如:
public_path() = /Users/user_name/Local Sites/site_1/public
那么,问题在于,当我使用该变量链接到public/js 中的 .js 文件时,生成的路径是
http://localhost/Users/user_name/Local%20Sites/site_1/public
...这当然是无效的,因为正确的路径真的是
http://localhost/site_1/public
我确定我在做一些愚蠢的事情,但我太愚蠢了,无法弄清楚它是什么!当我明确解决这些路径时,我的网站可以正常工作,但是当然一切都会中断当我发布到我的网络主机时(使用绝对路径而不是相对路径)。
【问题讨论】:
标签: php laravel apache laravel-blade relative-url