Laravel 5.2: asset path not working on server

末鹿安然 提交于 2020-01-25 18:28:06

问题


My laravel 5.2 app unable to fetch the stylesheet from the public/css directory on the production server but can fetch stylesheets on the local machine!

here is how I am linking my files:

<link href="{{asset('css/clock.css')}}" rel="stylesheet" media="all" />

I also tried bunch of different ways:

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

OR:

{{HTML::style('css/clock.css')}}

but nothing worked on server!

but it is not able to fetch the css! when I check the page source, it shows me some other css file linked.. is it because of '.htaccess' file that I used to redirect to the public folder of my site?

you can have a look at enter link description here..

please help!


回答1:


Why are u not trying url helper like this

<link href="{{ url('css/clock.css')}}" rel="stylesheet" media="all" />

Note:- css/clock.css is in public folder




回答2:


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

RewriteEngine On

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

 # Force SSL
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

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




回答3:


The asset() helper prepends the base URL to the path you supply. But laravel keep js, css, and image files into public folder so you need to add public path like this:

href="public/{{ asset('css/style.css') }}.

Instead of doing this edit into this file:- vendor\laravel\framework\src\Illuminate\Foundation\helpers.php

function asset($path, $secure = null)
{
    if($_SERVER['HTTP_HOST']=='127.0.0.1:8000')
        return app('url')->asset($path, $secure);
    else
        return app('url')->asset('public/'.$path, $secure);
}


来源:https://stackoverflow.com/questions/38414746/laravel-5-2-asset-path-not-working-on-server

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!