Laravel 5找不到css文件

Posted

技术标签:

【中文标题】Laravel 5找不到css文件【英文标题】:Laravel 5 not finding css files 【发布时间】:2015-03-28 15:59:13 【问题描述】:

我刚刚在 MAMP 上安装了一个 Laravel 5 项目,但我的页面没有找到 css 文件。

这是我的 app.blade.php 文件中我的 css 的链接:

<link href="/css/app.css" rel="stylesheet">

我的 .htaccess 文件有这一行:

RewriteBase /laravel-site/laravel-5-app/public/

在 config 文件夹中,我的 app.php 文件包含以下内容:

'url' => 'http://localhost:8888/laravel-site/laravel-5-app/public/',

但是当我打开这个页面:http://localhost:8888/laravel-site/laravel-5-app/public/auth/login并检查开发者工具时,它正在这个位置寻找css文件:http://localhost:8888/css/app.css

顺便说一句,如果我访问这个网址:http://localhost:8888/laravel-site/laravel-5-app/public/,我会得到正确的欢迎页面。

【问题讨论】:

链接可以试试&lt;link href=" public_path() /css/app.css" rel="stylesheet"&gt; 现在它正在这里寻找 css 文件:/Applications/MAMP/htdocs/laravel-site/laravel-5-app/public/css/app.css(我在哪里)但是它仍然没有在页面上显示它,但是如果我将该链接复制到地址栏,它会找到 css 文件。 像这样修改 app.blade.php 的 css/app.css 链接。 &lt;link href=" asset('css/app.css') " rel="stylesheet"&gt; 【参考方案1】:

使用它可以将cssjavascriptimages.. 等资产添加到刀片文件中。

对于 CSS,

<link href=" asset('css/app.css') " rel="stylesheet" type="text/css" >

<link href=" URL::asset('css/app.css') " rel="stylesheet" type="text/css" >

对于 JS,

<script type="text/javascript" src=" asset('js/custom.js') "></script>

 <script type="text/javascript" src=" URL::asset('js/custom.js') "></script>

图片,

 asset('img/photo.jpg'); 

这里是DOC

或者,如果您拉取了 laravel 4.2 中默认提供的作曲家包 illuminate/html,那么您可以像下面这样使用,在 laravel 5 中。您必须手动拉取包。 p>

 HTML::style('css/style.css') 

这是Example。

【讨论】:

@davelowe85 因为您需要使用php artisan serve 或 Homestead 进行开发,并在生产中使用适当的服务器配置。 public 应该从不出现在你的 URL 中(如果是,你的应用程序可能容易受到攻击)并且 Laravel 通常在域名的根目录下运行,所以 /css/app.css 非常好合理设置的默认设置。 这是一种方法,但你应该真正考虑使用 elixir blade这个词需要强调一下 这些东西在我的生产服务器(共享主机)上不起作用!知道为什么吗? Laravel mix() 的解决方案是什么?因为 url() 正确地为我工作,但 mix 没有找到 /public 文件夹...【参考方案2】:

在根路径下创建一个 .htaccess 文件

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On

RewriteCond %REQUEST_URI !^/public/ 

RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_FILENAME !-f



RewriteRule ^(.*)$ /public/$1 
#RewriteRule ^ index.php [L]
RewriteRule ^(/)?$ public/index.php [L] 
</IfModule>

在公共目录中创建一个 .htaccess 文件

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %HTTP:Authorization .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%HTTP:Authorization]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %REQUEST_FILENAME !-d
    RewriteCond %REQUEST_URI (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %REQUEST_FILENAME !-d
    RewriteCond %REQUEST_FILENAME !-f
    RewriteRule ^ index.php [L]
</IfModule>

如果您在 public/index.php 文件中进行了任何更改,并使用正确的路径更正它们,那么您的网站将会上线。

这能解决什么问题?

laravel 项目托管问题。 Css 在 laravel 上不起作用。 Laravel 网站无法正常工作。 laravel 使用 domain/public/index.php 加载站点 laravel 项目没有正确重定向

【讨论】:

【参考方案3】:

Stop artisan serve

并尝试使用

php -S localhost:8000 -t public

【讨论】:

这解决了 windows 目录和权限的问题,在 linux 上也很好用。谢谢 你能解释一下这个命令吗【参考方案4】:

您可以使用以下选项之一:

<link href=" asset('css/app.css') " rel="stylesheet" type="text/css" >

<link href=" URL::asset('css/app.css') " rel="stylesheet" type="text/css" >

!! Html::style( asset('css/app.css')) !!

【讨论】:

【参考方案5】:

这是有效的。 对于 CSS:

<link href="css/app.css" rel="stylesheet">

尝试:

 <link href="public/css/app.css" rel="stylesheet">

【讨论】:

【参考方案6】:

这里是解决办法

  !! Html::style('css/select2.min.css') !!
  !! Html::script('js/select2.min.js') !!

【讨论】:

【参考方案7】:

这对我有用

如果您将 .htaccess 文件从公共目录迁移到项目文件夹并将 server.php 更改为项目文件夹中的 index.php,那么这应该适合您。

<link rel="stylesheet" href=" asset('public/css/app.css') " type="text/css">

谢谢

【讨论】:

【参考方案8】:

直到现在我也遇到了同样的问题。

/css/app.css 之前删除/,以便它的css.app.css 为我工作。

【讨论】:

【参考方案9】:

快速应用简单的正则表达式。

search : href="(.+?)"
replace : href=" asset('$1') "

search : src="(.+?)"
replace : src=" asset('$1') "

【讨论】:

请在您的答案中添加一些解释,以便其他人可以从中学习 - 应该在哪里应用以及为什么?【参考方案10】:

我用过:

"asset('css/custom.css')"
"asset('css/app.css') "

第一个是我自己的文件,第二个是 laravel 自带的。我使用的是第 5 版。

http://spanibox.com/css/app.css 有效,但 http://spanibox.com/css/custom.css 才不是。我觉得这很奇怪。

【讨论】:

【参考方案11】:

如果您使用的是laravel 5 或 6:

    在 Public 文件夹中创建 .css、.js、images... 文件夹

    然后在您的刀片文件中,您可以使用以下代码显示图像:

<link rel="stylesheet" href="/css/bootstrap.min.css">
<link src="/images/test.png">
<!-- / is important and dont write public folder-->

【讨论】:

【参考方案12】:

我的看法是:

<link rel="stylesheet" href=" URL::to('/css/app.css') ">

是路由到您的 css 文件的最佳方法。

URL::to() 也适用于 js

【讨论】:

【参考方案13】:

Laravel 6.0.2 版

我也遇到了同样的问题。我用过

<link href=" asset('css/app.css') " rel="stylesheet" type="text/css" >
<link href=" asset('css/bootstrap.css') " rel="stylesheet">

在将 CSS 文件夹从文件夹资源移动到公共文件夹后,它可以工作

【讨论】:

【参考方案14】:

这对我有用: 如果是 css 文件,请点击

<link href=" asset('css/app.css') " rel="stylesheet" type="text/css" >

如果是图片点击

<link href=" asset('css/img/logo.png') " rel="stylesheet" type="text/css" >

【讨论】:

在对已有 17 个已有答案的五年前的问题添加答案时,重要的是要包括解释并指出您的答案所针对的问题的新方面。【参考方案15】:

&lt;link rel="stylesheet" href="/css/bootstrap.min.css"&gt;如果你使用 laravel 5 或 6,你应该创建文件夹 css 并调用它

对我有用

【讨论】:

请在您的答案中添加一些进一步的解释,以便其他人可以从中学习 是的,在您的公共文件夹中创建另一个文件夹(CSS,JS,...)并使用它,我们应该在文件的链接之前添加“/”但没有公共它是 laravel 5 或6 祝你好运 请通过编辑将所有解释添加到答案【参考方案16】:

您可以简单地公开创建资产并添加更多路径并在您的头部 html 中调用以下代码

【讨论】:

【参考方案17】:

如果你在 ubuntu 上,你可以试试这些命令:

sudo apt install npm

npm install && npm run dev

【讨论】:

请在您的答案中添加一些解释,以便其他人可以从中学习 - 为什么要解决给定的问题?【参考方案18】:

你可以在你的css链接前面放一个反斜杠

【讨论】:

请在您的答案中添加一些解释,以便其他人可以从中学习。 URL 中的反斜杠听起来很奇怪

以上是关于Laravel 5找不到css文件的主要内容,如果未能解决你的问题,请参考以下文章

laravel 5:找不到类“输入”

Laravel 5.5 找不到具有正确命名空间的类

找不到路线返回页面 Laravel 5.3

使用 laravel 5.4 将数据插入数据库时​​找不到 404 错误文件

在 Laravel 5 中找不到用户类

在基本 Laravel 5.4 教程中找不到类“任务”