У меня проблемы с веб-приложением на Symfony 4
Я создал шаблон ветки и начал добавлять некоторые активы, в данном случае с файлом Js для полноты функциональности. Но когда я захожу в браузер, файл Js не загружается, он появляется с ошибкой 404.
No route found for \"GET /public/test.js
ymfony\\Component\\Routing\\Exception\\ResourceNotFoundException in /srv/sso-gateway/var/cache/dev/srcDevDebugProjectContainerUrlMatcher.php:50\nStack trace:\n#0 /srv/sso-gateway/vendor/symfony/routing/Matcher/UrlMatcher.php(107):
Это мой файл ветки
<!DOCTYPE html>
<html>
<head>
<meta charset = "UTF-8" />
<title>{% block title %}SSO - DIOCESAN!{% endblock %}</title>
{% block stylesheets %}{% endblock %}
<link rel = "icon" type = "image/x-icon" href = "{{ asset('favicon.ico') }}" />
<link rel = "stylesheet" href = "{{ asset('app.css') }}" />
<link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity = "sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin = "anonymous">
</head>
<body>
{% block body %}{% endblock %}
{% block javascripts %}
<script src = "../public/test.js"></script>
{#<script src = "{{ asset('assets/vendor/angular/angular.js') }}"></script>#}
{% endblock %}
</body>
</html>
Как видите, есть два файла: test.js (в каталоге /public) и app.css (в каталоге /web), ни один из них не загружается, оба выдают ошибку 404, я не знаю, что делаю. неправильный.
Я использую FosRestBundle, я не знаю, связана ли эта ошибка с конфигурацией FosRest.
Вот моя конфигурация FosRest
fos_rest:
allowed_methods_listener: true
serializer:
serialize_null: true
body_listener:
array_normalizer: fos_rest.normalizer.camel_keys
body_converter:
enabled: true
disable_csrf_role: ROLE_API
format_listener:
rules:
- { path: '^/sso/menu', priorities: ['html'], fallback_format: 'html', prefer_extension: false }
- { path: '^/public/request-password', priorities: ['html'], fallback_format: 'html', prefer_extension: true }
- { path: '^/', priorities: ['json'], fallback_format: 'json', prefer_extension: false }
routing_loader:
default_format: json
include_format: false
view:
view_response_listener: true
formats:
json: true
xml: false
rss: false
html: true
mime_types:
json: ['application/json', 'application/x-json']
jsonp_handler: false
exception:
enabled: true
Любое предложение? Заранее спасибо.




Вам нужно иметь все активы в общедоступном каталоге, а не в Интернете.
Для этого случая:
<script src = "../public/test.js"></script>
Попробуйте добавить это для абсолютного URL
РЕДАКТИРОВАТЬ за ошибку
<script src = "{{ app.request.schemeAndHttpHost }}/test.js"></script>
Для случая актива проверьте эту ссылку (или вы можете использовать тот же метод, что и в последнем случае):
А вы пробовали
{{ asset('assets/app.css') }}?