资产在localhost上有效,但在服务器上不可用

时间:2018-09-14 14:19:21

标签: assets symfony4

我有一个使用Symfony 4.1的项目,css和js文件存储在public / assets文件夹中,图像也上传在public文件夹中。

enter image description here

这就是我用树枝称呼它们的方式:

<link href="{{ asset('assets/frontOffice/css/style.css') }}" rel="stylesheet" type="text/css" media="all"/>
<link href="{{ asset('assets/frontOffice/css/responsive.css') }}" rel="stylesheet" type="text/css"/>
//................

并调用这样的图像:

<img src="{{ asset(entity.image.webPath|imagine_filter('image_800_600')) }}"
                                             alt="{{ entity.title }}"/>
// or static
<img src="{{ asset('assets/images/ajax_loader.gif') }}" width="150" height="150"/>
<img src="{{ asset('assets/images/logo_sm.png') }}"/>

在本地主机中,一切正常,此功能 {{asset()}} 指向公用文件夹,但是在生产环境中部署并在服务器上上传项目后,{{asset() }}不再指向公用文件夹,而是指向不存在的资产文件夹,当我在浏览器中查看 view-source 时,URL变成这样

<link href="/assets/frontOffice/css/style.css" rel="stylesheet" type="text/css" media="all"/>
<link href="/assets/frontOffice/css/responsive.css" rel="stylesheet" type="text/css" media="all"/>

<img src="/assets/frontOffice/images/logo.png" alt=""/>

我在项目的根目录中使用此.htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ public/index.php [QSA,L]
</IfModule>

0 个答案:

没有答案