【问题标题】:Laravel 5.2: asset path not working on serverLaravel 5.2:资产路径在服务器上不起作用
【发布时间】:2016-11-19 18:20:12
【问题描述】:

我的 laravel 5.2 应用无法从生产服务器上的 public/css 目录获取样式表,但可以在本地机器上获取样式表!

这是我链接文件的方式:

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

我也尝试了很多不同的方法:

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

或者:

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

但服务器上没有任何效果!

但它无法获取 css!当我检查页面源时,它显示了一些其他链接的 css 文件。是因为我曾经重定向到我网站的公用文件夹的“.htaccess”文件吗?

你可以看看enter link description here..

请帮忙!

【问题讨论】:

  • 请提供有关您的目录结构的信息。

标签: .htaccess laravel laravel-5 laravel-5.2 laravel-blade


【解决方案1】:

asset() 帮助程序将基本 URL 附加到您提供的路径中。 但是 laravel 将 js、css 和图像文件保存在 public 文件夹中,因此您需要像这样添加公共路径:

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

不要对这个文件进行编辑:- 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);
}

【讨论】:

    【解决方案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}]
    

    【讨论】:

    • 我要发布哪个 .htaccess 文件?一个在公共文件夹中还是在 /www 文件夹中?
    • 错误:“找不到我要找的页面!”
    • 你在使用专用主机还是共享主机
    • 共享,它实际上是将我转发到我的文件夹的公共目录的路径,我已经使用 /www 文件夹中的其他 .htaccess 文件完成了该路径
    【解决方案3】:

    你为什么不尝试这样的 url helper

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

    注意:- css/clock.css 在公共文件夹中

    【讨论】:

    • 没用!适用于本地服务器但不适用于服务器! .htaccess 会造成问题吗?
    • 如果有,你是否有 ssl 证书,而不是使用这个
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-09
    • 2019-05-13
    • 2016-04-16
    相关资源
    最近更新 更多