【问题标题】:Loading resources in Laravel Valet without trailing slashes在 Laravel Valet 中加载资源而不使用斜杠
【发布时间】:2019-01-06 16:12:28
【问题描述】:

我有一个简单的 html 文件(试图从代客开始我的方式),其中我有一个 <link rel="stylesheet" href="./css/main.css">

问题是,home.test/app 没有显示我的样式 htm。 Chrome 的检查器显示它试图在home.test/css/main.css找到资源文件
在 home.test/app/ 中,它是 *not* 样式的。 我已经在谷歌上搜索了一段时间的原因/修复,但我无法理解它。

我尝试将一些 Statamic 的代客司机配置复制为 www.conf 文件,但没有取得多大成功。 此外,我还看到了一些重写方法,例如

rewrite ^/(.*)/$ /$1 permanent;
rewrite ^/?(.*)$ /$1 break;

也没有成功

我想访问 home.test/app 并让它加载所有必需的文件,如果可能的话将 home.test/app/ 重定向到 home.test/app 删除尾部斜杠

【问题讨论】:

    标签: macos nginx laravel-valet


    【解决方案1】:

    这个问题很可能归结为在链接的href 中使用了./。您是在告诉服务器“从我当前文件夹位置的文件夹 /css/main.css 中获取文件。

    假设你的文件夹结构是:

       /index.php
       /css/main.css
       /app/index.php
    

    当您在主页上时,您说的是去检索home.test/css/main.css。但是,当在 app 文件夹中时,您是在告诉服务器去检索 home.test/app/css/main.css,而不是 home.test/css/main.css

    最快的解决方案是将链接更改为<link rel="stylesheet" href="/css/main.css">(去掉前面的.)。否则你可以使用绝对路径。

    【讨论】:

    • 好吧,已经有一段时间了,但如果我没记错的话,我确实是在尝试从子文件夹中提取 CSS,而不是抽象路径。我尝试了“file.css”、“/file.css”和“./file.css”,它们都忽略了它们所在的文件夹并从根目录中提取。我刚刚重新阅读了我的问题,似乎我犯了一个错误,我的意思是“在 home.test/app/ 中没有样式”
    猜你喜欢
    • 2017-09-16
    • 2022-01-21
    • 1970-01-01
    • 2014-06-28
    • 2014-09-03
    • 2016-03-26
    • 2019-01-28
    • 2016-05-19
    • 1970-01-01
    相关资源
    最近更新 更多