提问人:Martin 提问时间:11/10/2023 更新时间:11/10/2023 访问量:97
我在访问 Laravel 10 中的“assets”文件夹时遇到的 url 问题
The url problem I have in accessing the "assets" folder in Laravel 10
问:
由于我不想占用您的时间,因此我将首先非常简要地总结一下问题。我可以说我已经阅读并尝试了几乎所有关于类似问题的所有其他消息。但我的问题从未得到解决。
摘要: 我在计算机上的Xampp上创建的虚拟服务器上运行Laravel 10。当我输入“cmd.dev”地址时,一切似乎都很好,但是在 cms.dev/account/detail 等地址中没有加载css和js。
扩展: 我在“C:\xampp\htdocs\cms”目录中进行了 Laravel 10 的全新安装。与我之前的Laravel项目一样,我将必要的信息添加到位于“C:\xampp\apache\conf\extra”目录中的“httpd-vhosts.conf”文件中,以创建虚拟服务器。
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "C:/xampp/htdocs/cms/public/"
ServerName cms.dev
ServerAlias www.cms.dev
ErrorLog "logs/cms.dev-error.log"
CustomLog "logs/cms.dev-access.log" common
</VirtualHost>
当然,我在“hosts”文件中添加了必要的行。
127.0.0.1 cms.dev
当我从浏览器输入“cms.dev”时,没有问题。我在Laravel“public/assets”中的所有css或js文件都加载完毕,没有任何问题,并且出现了我想要的界面。例如,即使我转到 cms.dev/account 页面,也没有问题。但是,当 url 中出现另一个斜杠时,例如,当我进入 cms.dev/account/detail 页面时,不幸的是,没有加载 css 等文件。当我检查源代码时,一切都是正确的 (“cms.dev/assets/vendor/css/core.css”) 出现。当我说检查页面时,它显示的路径是(“cms.dev/account/assets/vendor/css/core.css”)。所以似乎已经插入了 account 参数。
我之前在 Laravel 9 上实施了 3 个项目,具有这种确切的安装和设置,并且从未遇到过任何类似的问题。是什么问题导致我在 Laravel 10 中遇到这种情况?我真的快要疯了。提前非常感谢大家。
我通过执行全新安装测试了所有内容。
Laravel版本:v10.31.0
PHP版本:v8.2.4
我的“assets”文件夹位于Laravel的“public”文件夹中,包含css和js文件夹。我所做的唯一更改是在“.env”文件中指定APP_URL变量:
APP_URL=http://cms.dev
然后我尝试以与我以前的项目相同的方式调用我的文件:
{{asset('资产/供应商/css/core.css')}}
由于这种方法不起作用,我定义了 Laravel 建议的 ASSET_URL 变量:
ASSET_URL=http://cms.dev/assets
我这样称呼我的文件:
{{asset('供应商/css/core.css')}}
答:
要解决此问题,您需要在资产函数中引用的路径的前面添加一个正斜杠,以便文件的基本路径成为公用文件夹。
APP_URL=http://cms.dev
然后在您的文件中
{{asset('/assets/vendor/css/core.css')}}
评论
上一个:资源扩展及其对性能的影响
评论