Symfony 2: панель инструментов веб-отладки не отображается (ошибка 404), а функция пути Twig не работает

Я создал веб-сайт Symfony 2.6 и развернул его по следующему URL-адресу:

https://www.example.com/abc/

Этот URL-адрес указывает на каталог «web» (как корневой каталог).

Сайт работает нормально, но есть две проблемы:

1) Панель инструментов веб-отладки не отображается, поскольку виджет указывает на https://www.example.com/ не на https://www.example.com/abc/ и я не понять почему?!

2) То же самое для функции Twig path(), она также указывает на https://www.example.com/ не https://www.example.com/abc/

Так ты имеешь представление об этом?


person Hachim IDRISSI    schedule 09.08.2017    source источник
comment
попробуйте позвонить example.com/abc/app_dev.php. Если вы получите сообщение об ошибке, нужно добавить свой IP в файл app_dev.php   -  person Gabriel Diez    schedule 09.08.2017
comment
Во-первых, спасибо за быстрый ответ. Это именно то, что я сделал, и страница отображается правильно, проблема заключается в панели инструментов веб-отладки и функции пути ветки, они указывают на example.com не находится на example.com/abc, они игнорируют /abc / часть URL-адреса, и я не понял, почему!   -  person Hachim IDRISSI    schedule 09.08.2017
comment
убедитесь, что у вас есть действительные шаблоны html/twig. Он не будет отображаться, если рядом с конечным тегом body находится недопустимый.   -  person Andrew Nolan    schedule 10.08.2017
comment
У меня есть правильная структура тегов HTML в моем Twig, я проверил инспектор Google Chrom, и все вроде бы в порядке.   -  person Hachim IDRISSI    schedule 10.08.2017


Ответы (1)


Наконец-то я понял, «abc» — это не физическая папка, это просто «виртуальный» путь, определенный на виртуальном хосте www.example.com, поэтому, хотя https://www.example.com/abc/ указывает на веб-папку моего проекта Symfony, которая по умолчанию является корневым репозиторием в среде Symfony, папка "abc " в действительности не существует. На самом деле я использую для изменения в этом скрипте "/public_html/vendor/symfony/symfony/src/Symfony/Component/Routing/Generator/UrlGenerator.php" таким образом, применяя "/abc" участие в динамичном

сгенерированный URL:

$url = $schemeAuthority."/abc".$this->context->getBaseUrl().$url;

Я думаю, что Symfony по умолчанию не учитывает этот случай.

Другая вещь, которая также может вызвать эту проблему, — это проверить схему (http или https) вашего веб-сайта в конфигурации маршрутизации (routing.yml) вашего проекта, например:

тест:

resource: "@testBundle/Controller/"

type:     annotation

prefix:   /

schemes:  [http]
person Hachim IDRISSI    schedule 11.08.2017