Проблема с маршрутом при развертывании приложения Symfony 4 - PullRequest
0 голосов
/ 07 февраля 2020

Мое приложение работает в локальной среде, я развертываю на VPS-сервере, управляю мной, источник развертывается Git с S SH.

Веб-сайт: http://jw-motorsport.fr/

Вы можете видеть, что навигация не работает, я уже сделал работу веб-сайта в веб-сервере, но с URL http://jw-motorsport.fr/public, это не удобно, поэтому я решил управлять своим виртуальным хостом для определения точки входа http://jw-motorsport.fr, и теперь маршрут не работает -_- '

Я не вижу ошибок в своих журналах. (Журнал HTTP)

Эта проблема блокирует меня уже много недель, я пробую много проблем, но я не помню всего, что я делаю для этого ^

Мои маршруты. Yaml:

Index:
    path: /
    controller: App\Controller\IndexController::accueil
Accueil:
    path: /Accueil
    controller: App\Controller\IndexController::accueil
HelloName:
    path: /hello-world/{name}
    controller: App\Controller\IndexController::helloName
Reprog:
    path: /Reprog
    controller: App\Controller\ReprogController::reprog
NosVoitures:
    path: /NosVoitures
    controller: App\Controller\NosVoituresController::nosVoitures
Contact:
    path: /Contact
    controller: App\Controller\ContactController::contact
Services:
    path: /Services
    controller: App\Controller\ServicesController::services

Виртуальный хост:

<VirtualHost *:80>
    ServerName jw-motorsport.fr
    ServerAlias www.jw-motorsport.fr
    DocumentRoot /var/www/jw-motorsport.fr/html/public

    <Directory /var/www/jw-motorposrt.fr/html/public>
        AllowOverride All
        Order Allow,Deny
        Allow from All
    </Directory>

    ErrorLog /var/www/jw-motorsport.fr/log/error.log
    CustomLog /var/www/jw-motorsport.fr/log/requests.log combined
</VirtualHost>

Если вам нужен другой sr c?

Я уже очистил свой кэш, реперториум имеет права 755, а владелец не является root.

У меня установлен apache -pack.

И когда я отображаю доступный маршрут, у меня есть:

[root@vps60891 html]# php bin/console debug:route
 ------------- -------- -------- ------ ---------------------
  Name          Method   Scheme   Host   Path
 ------------- -------- -------- ------ ---------------------
  Index         ANY      ANY      ANY    /
  Accueil       ANY      ANY      ANY    /Accueil
  HelloName     ANY      ANY      ANY    /hello-world/{name}
  Reprog        ANY      ANY      ANY    /Reprog
  NosVoitures   ANY      ANY      ANY    /NosVoitures
  Contact       ANY      ANY      ANY    /Contact
  Services      ANY      ANY      ANY    /Services

Запрос HTTP:

[02 / Feb / 2020: 09: 18: 37 -0500] "GET / Reprog HTTP / 1.1" 404 204 "http://jw-motorsport.fr/" "Mozilla / 5.0 (Windows NT) 6.1; Win64; x64; rv: 72.0) Gecko / 20100101 Firefox / 72.0 "

1 Ответ

0 голосов
/ 10 февраля 2020

У меня была такая же проблема, и, похоже, проблема с файлом .htaccess (если у вас его нет). Если вы посмотрите документацию Symfony о Apache Настройка веб-сервера , оптимизированная конфигурация которого отключает .htaccess, попробуйте адаптировать свою конфигурацию VirtualHost следующим образом:

<VirtualHost *:80>
ServerName domain.tld
ServerAlias www.domain.tld

DocumentRoot /var/www/project/public
DirectoryIndex /index.php

<Directory /var/www/project/public>
    AllowOverride None
    Order Allow,Deny
    Allow from All

    FallbackResource /index.php
</Directory>

# uncomment the following lines if you install assets as symlinks
# or run into problems when compiling LESS/Sass/CoffeeScript assets
# <Directory /var/www/project>
#     Options FollowSymlinks
# </Directory>

# optionally disable the fallback resource for the asset directories
# which will allow Apache to return a 404 error when files are
# not found instead of passing the request to Symfony
<Directory /var/www/project/public/bundles>
    FallbackResource disabled
</Directory>
ErrorLog /var/log/apache2/project_error.log
CustomLog /var/log/apache2/project_access.log combined

# optionally set the value of the environment variables used in the application
#SetEnv APP_ENV prod
#SetEnv APP_SECRET <app-secret-id>
#SetEnv DATABASE_URL "mysql://db_user:db_pass@host:3306/db_name"
</VirtualHost>

Hope это помогает!

...