Laravel 5找不到http://localhost:8000/css/app.css

3

我正在使用Laravel 5,出现了“无法加载资源,服务器返回状态码为404(未找到)http:// localhost:8000 /css/app.css ” 的错误。

如果我的layout.blade.php是这样的

   <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">

它工作得很好。

但如果我把它改成

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

我遇到了一个问题:

http://localhost:8000/css/app.css 无法加载,服务器返回404(未找到)。

我有一个 public/css/app.css 文件,是通过 gulp 获得的,并且它明显存在。

如果我从浏览器中输入 http://localhost:8000/css/app.css,会出现 NotFoundHttpException in RouteCollection.php line 161 的错误提示,因为我在 routes.php 中没有写 /css/app.css。

但我不认为这是路由问题。

我在 Stack Overflow 上找到了类似的问题,但找不到具体的解决方案。


@Mr.Engineer 在问题中已经提到了CSS文件已经放在public文件夹中,请在发表评论前仔细阅读问题。
  1. 检查public/css文件夹的权限。
  2. 尝试使用url('public/css/app.css')或者asset('css/app.css)
- Alankar More
抱歉,我犯了一个错误。 - Mr. Engineer
1
如果出现文件权限错误,请尝试使用 href="{{ URL::asset('public/css/app.css') }}" - madalinivascu
1
我能够通过访问localhost:8000/css/app.css来访问公共文件夹中的文件。这不需要包含在路由中。请检查gulp是否正确生成。或者只需尝试将虚拟css文件放置在/css目录中,并检查是否有效。 - Bharat Geleda
1
也可以尝试使用@madalinivascu的解决方案,但在链接标签中加入属性type="text/css"。 - Bharat Geleda
显示剩余2条评论
2个回答

1
我找到了一个解决方案。 一开始就没有问题。 最初的设置是正确的。
<link rel="stylesheet" href="{{ URL::asset('css/app.css') }}">

问题似乎是由Netbeans 8.1嵌入式Web服务器引起的。
我试图测试Windows 7 + Netbeans 8.1嵌入式Web服务器,并始终使用http://xxx:8000/测试我的程序。
问题似乎是由Netbeans 8.1嵌入式Web服务器引起的。
现在我正在使用Xampp嵌入式Apache,效果完美。

0
尝试使用这个语法进行加载。
{!! Html::style('css/all.css') !!}

在这种情况下,您的all.css文件位于public/css/all.css中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接