【问题标题】:Problem with route when deploying Symfony 4 application部署 Symfony 4 应用程序时出现路由问题
【发布时间】:2020-02-06 21:31:27
【问题描述】:

我的应用程序在本地环境下工作,我部署在 VPS 服务器上,由我管理,源由 Git 和 SSH 部署。

网址: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>

如果你需要其他的src?

我已经清除了我的缓存,repertory 有 755 个权限,并且 owner 不是 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)壁虎/20100101 火狐/72.0"

【问题讨论】:

  • 可能不需要 html 在:/var/www/jw-motorsport.fr/html/public。您的日志可能应该转到某种 tmp 目录。可以尝试设置一个非常简单的单页 index.html 站点,以了解 Apache 虚拟主机的工作原理。
  • 尝试其他语法更改 => 控制器:App\Controller\IndexController::accueil 到 => 控制器:AppBundle:Index:accueil
  • @Cerad:我不明白你的想法?当我创建我的第一个虚拟主机并且工作正常时,我已经完成了一个简单的网站。
  • @Julien Bald:这个符号不会改变任何东西,但感谢您的回复。
  • 在你的 vhosts 文件中你有: /var/www/jw-motorsport.fr/HTML/public 通常公共目录直接在你的项目目录下。如果你真的添加了一个 html 目录,那就太好了。只是看起来有点奇怪。

标签: php symfony routes symfony4 virtualhost


【解决方案1】:

我遇到了同样的问题,这似乎是.htaccess 文件的问题(如果你没有的话)。如果您查看有关 Apache Configuring a Web Server 的 Symfony 文档,它具有禁用 .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>

希望对你有帮助!

【讨论】:

  • 我有一个.htaccess,但我尝试了你的想法,我禁用了我的.htaccess,但他确实有效,谢谢你的回复!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-05
  • 1970-01-01
相关资源
最近更新 更多