2015-01-08 55 views
9

Symphony2 framework'ü kurdum ve kendi paketimi oluşturdum. Benim js ve css dosyaları için assetic kullanıyorum.Symfony 2 Üretim ortamında üretim css ve js 404

Sunucumda ubuntu ve yerel makinemde nane çalışıyorum.

App_dev.php'ye yerel olarak eriştiğimde tüm öğeler iyi durumdadır.

App.php'ye yerel olarak eriştiğimde tüm öğeler iyi durumda. Benim sunucuda Ancak

, rota render alır ancak varlıklar (css & js) i 404.

olsun ben kuyruk i aşağıda yakalanmamış istisna olsun prod.log:

PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "GET /admin/css/875a243.css"" 

Web’de yüksek ve düşük arama yaptım ve bunu anlayamıyorum.

Önbellekleri temizledim, devingen bırakılmış varlıklar var, tüm izinler doğru.

benim app routing.yml yapılandırma:

brs: 
    resource: "@BrsAdminBundle/Resources/config/routing.yml" 
    prefix:/

benim demeti routing.yml yapılandırma

admin: 
    path: /admin/ 
    defaults: { _controller: BrsAdminBundle:Admin:index } 

benim app yapılandırma:

imports: 
    - { resource: parameters.yml } 
    - { resource: security.yml } 
    - { resource: assets.yml } 

framework: 
    #esi:    ~ 
    #translator:  { fallback: "%locale%" } 
    secret:   "%secret%" 
    router: 
     resource: "%kernel.root_dir%/config/routing.yml" 
     strict_requirements: ~ 
    form:   ~ 
    csrf_protection: ~ 
    validation:  { enable_annotations: true } 
    templating: 
     engines: ['twig'] 
     #assets_version: SomeVersionScheme 
    default_locale: "%locale%" 
    trusted_proxies: ~ 
    session:   ~ 
    fragments:  ~ 
    http_method_override: true 

# Twig Configuration 
twig: 
    debug:   "%kernel.debug%" 
    strict_variables: "%kernel.debug%" 

# Assetic Configuration 
assetic: 
    debug:   "%kernel.debug%" 
    use_controller: false 
    bundles:  [ ] 
    #java: /usr/bin/java 
    filters: 
     cssrewrite: ~ 
     #closure: 
     # jar: "%kernel.root_dir%/Resources/java/compiler.jar" 
     #yui_css: 
     # jar: "%kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar" 

# Doctrine Configuration 
doctrine: 
    dbal: 
     driver: "%database_driver%" 
     host:  "%database_host%" 
     port:  "%database_port%" 
     dbname: "%database_name%" 
     user:  "%database_user%" 
     password: "%database_password%" 
     charset: UTF8 
     # if using pdo_sqlite as your database driver: 
     # 1. add the path in parameters.yml 
     #  e.g. database_path: "%kernel.root_dir%/data/data.db3" 
     # 2. Uncomment database_path in parameters.yml.dist 
     # 3. Uncomment next line: 
     #  path:  "%database_path%" 

    orm: 
     auto_generate_proxy_classes: "%kernel.debug%" 
     auto_mapping: true 

# Swiftmailer Configuration 
swiftmailer: 
    transport: "%mailer_transport%" 
    host:  "%mailer_host%" 
    username: "%mailer_user%" 
    password: "%mailer_password%" 
    spool:  { type: memory } 

benim asset.yml yapılandırma:

assetic: 
    assets: 
    bootstrap_js: 
     inputs: 
     - '%Kernel.root_dir%/Resources/public/js/jquery-2.1.3.min.js' 
     - '%Kernel.root_dir%/Resources/public/js/bootstrap.min.js' 
    bootstrap_css: 
     inputs: 
     - '%Kernel.root_dir%/Resources/public/css/bootstrap.min.css' 
     - '%Kernel.root_dir%/Resources/public/css/bootstrap-theme.min.css' 
    admin_css: 
     inputs: 
     - '@BrsAdminBundle/Resources/public/css/styles.css' 
assetic kullanan

benim base.html.twig: Herhangi bir yardım büyük takdir

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="UTF-8" /> 
     <title>{% block title %}BankRoll Supply{% endblock %}</title> 
     {% block stylesheets %} 
      {% stylesheets '@bootstrap_css' '@admin_css' %} 
       <link rel="stylesheet" type="text/css" href="{{ asset_url }}" /> 
      {% endstylesheets %} 
     {% endblock %} 
     <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" /> 
    </head> 
    <body> 
     {% block body %}{% endblock %} 
     {% block javascripts %} 
      {% javascripts '@bootstrap_js' %} 
       <script type="text/javascript" src="{{ asset_url }}"></script> 
      {% endjavascripts %} 
     {% endblock %} 
    </body> 
</html> 

.

Sana çünkü cssrewrite konularını yaşıyorsanız düşünüyorum

Reklam,

+0

Aynı sorun burada. –

cevap

1

Hi teşekkür ederiz.

İki seçeneğiniz vardır;

  • dosyalarınızı elle çıkış dizinini

  • Noktasını belirtin ve dal içinde cssrewrite filtre kullanın. Buraya bakın;

Bu http://symfony.com/doc/current/cookbook/assetic/asset_management.html#fixing-css-paths-with-the-cssrewrite-filter Eğer varlıklar için bir çıkış dizini belirtebilirsiniz ilk seçenek

bir örnektir. Aşağıdaki örnekte, '/ web/bundles/yourbundle/css' ifadesi yer almaktadır. assets:install --env=prod ve assetic:dump --env=prod yapın ve bence gitmeniz iyi olacak.

{% stylesheets 
'@admin_css' 
output='bundles/yourbundle/css/admin_style.css' 
%} 
<link href="{{ asset_url }}?{{ AssetVersion }}" rel="stylesheet" type="text/css"> 
{% endstylesheets %} 

Ayrıca ben asset.yml varlıklarınızı tanımlarken, assetic:dump Bu durumda gerekmez genel varlıklar dizinindeki bir assets klasörü oluşturduğu bahsetmek zorunda. Bu klasörden kurtulmak için bu sözdizimini twig olarak kullanabilirsiniz;

{% stylesheets 
'@YourBundle/Resources/public/css/admin.css' 
output='bundles/yourbundle/css/admin_style.css' 
%} 
<link href="{{ asset_url }}?{{ AssetVersion }}" rel="stylesheet" type="text/css"> 
{% endstylesheets %} 
İlgili konular