我只是将Mac OS的本地apache2服务器用于本地主机。在我的httpd.conf文件中,
DocumentRoot "/Users/user_name/Local Sites/"
...该目录包含我在本地工作的所有网站:
Users
-user_name
--Local Sites
---site_1
---site_2
---site_3
---site_4
因此,对于我的特定Laravel项目site_1
,我在.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
问题是,当我使用该变量链接到中的.js文件时public/js
,生成的路径是
http://localhost/Users/user_name/Local%20Sites/site_1/public
...这当然是无效的,因为正确的路径是
http://localhost/site_1/public
我确定我在做一些愚蠢的事情,但是我太愚蠢了,无法弄清楚它是什么!当我明确解析这些路径时,我的网站可以工作,但是当我发布到Web主机时,所有内容当然都会中断(使用绝对路径而不是相对路径)。
不要混合使用辅助函数publich_path()和asset()。
您应该通过以下方式链接JS / CSS / Img:
<script src="{{asset('js/main.js')}}"/>
Laravel会将来电转换为
<script src="http://localhost/site_1/js/main.js"/>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句