Почему мой фронт -контроллер Dev включен в Assication URL -адреса?

StackOverflow https://stackoverflow.com/questions/7351739

  •  28-10-2019
  •  | 
  •  

Вопрос

Я использую Assitice, чтобы включить файлы JavaScript, но при использовании в среде Dev, /app_dev.php добавляется в начало URL, поэтому последний URL выглядит как /app_dev.php/js/something.js. Анкет Это приводит к 404 при попытке загрузить JS. Когда я получаю доступ к сайту из производственной среды, URL не включают /app_dev.php И все работает нормально.

Я мог бы добавить условное, которое проверяет, если это среда Dev, и вызов str_replace На URL -адресах, но я хотел бы решить корень этой проблемы, если это возможно.

Редактировать

@gilden, я бы понял, что в разработке они будут обрабатываться каждый раз, но URL -адреса просто приводят к 404 -м годам.

Вот моя достойная конфигурация:

assetic:
    debug:          %kernel.debug%
    use_controller: false
    filters:
        cssrewrite: ~
        # closure:
        #     jar: %kernel.root_dir%/java/compiler.jar
        # yui_css:
        #     jar: %kernel.root_dir%/java/yuicompressor-2.4.2.jar

И вот как я использую его в своем шаблоне (приложение/ресурсы/виды/base.html.php)

foreach ($view['assetic']->javascripts(
            array('@AssetsBundle/Resources/public/js/*'), array(), array('output' => 'js/combined.js')) as $url) {
            echo 'url: ' . $url . '<br />';    
        }

Затем я включаю $ url, используя пользовательского помощника, которого я написал, но в этот момент он уже содержит APP_DEV.PHP.

Это было полезно?

Решение

Я не использовал шаблон PHP в Symfony, поэтому боюсь, что у меня нет лучшего ответа. Используя какой -то пользовательский код, вы, вероятно, обходите некоторую внутреннюю логику, которая обрабатывает запрос с контроллером.

В качестве обходного пути вы могли бы попробовать удалить assetic: use_controller: true из /app/config_dev.yml.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top