Ahm*_*sam 1 php twitter-bootstrap laravel laravel-5.2
我在Laravel 5.2中打招呼,我制作了一个简单的个人博客和这里的观点文件夹
在home.blade.php我扩展'layouts.master',它使用bootstrap并且效果很好.现在我做了一个新的路线来显示特定的博客:
Route::group(['prefix'=>'post'], function(){
    Route::get('{id}', function(){
        return view('blog');
    });
});
当我去http:// localhost:8000/post/1时它工作得很好,但是当我扩展layouts.master bootstrap和我的自定义css时问题不起作用!它适用于home.blade.php并正确地在pages/about.blade.php中工作,但是当我尝试为视图创建任何新路由并扩展layouts.master时它会扩展但是bootstrap和自定义css不起作用.

知道为什么会这样吗?注意:我的css和bootstrap在公共文件夹中.
@ThomasKim绝对正确.引导文件的路径是相对的.所以当你在localhost:8000它上面时它可以正确地遍历到css/bootstrap.min.css.
但是,当您启用时/post/1,css文件的URL请求将更改为:
localhost:8000/post/1/css/bootstrap.min.css
我们知道这是不正确的.要解决此问题,请通过预先添加a来使用绝对路径/.
<link href="/css/bootstrap.min.css" rel="stylesheet"/>
这将确保它始终尝试从public/css/bootstrap.min.css遍历文件.public在URL结构中省略,但这是所有HTTP请求解析的位置.
UPDATE
实际上最好使用Laravel asset或secure_asset函数来解析这些资产:
<link href="{{ asset('css/bootstrap.min/css') }} rel="stylesheet"/>
该asset助手将直接从解决/public
请注意,asset将使用schema页面请求来解析依赖关系,而无论请求的架构是什么,secure_asset都将强制依赖https.
为了让生活更加轻松,请使用Laravel的asset()帮助器:
<link href="{{ asset('/css/stylesheet.css') }}" rel="stylesheet"/>
是的,它提供与引用它完全相同的东西,简单地说是"/ css/...",但我发现这是一个很好的做法,特别是当事情在以后的某些方面变得更加先进时.
| 归档时间: | 
 | 
| 查看次数: | 11692 次 | 
| 最近记录: |