【发布时间】:2020-07-23 07:14:28
【问题描述】:
我正在尝试将工作中的 Symfony 项目从一个环境复制到另一个环境。 (创建者目前无法帮助我)看起来我几乎成功了,直到我不得不检查 Symfony 路由页面。它给了我一个 404 NOT FOUND 页面。
我所做的是将整个项目从一个环境复制到另一个环境(我自己设置)。以下是我认为与此问题相关的文件。如果我需要显示不同的文件以便找到解决方案,请告诉我。
页面host/(var/www/html/)project/public/ 显示the Welcome to Symfony!-page。
其他html 页面正在运行。
导航到使用 Symfony host/project/public/MyPage 设置的页面会返回 HTTP 404(未找到)错误页面。
/etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/
<Directory "/var/www/html/project/public">
AllowOverride All
Order allow,deny
Allow from All
Require all granted
</Directory>
...
MyController.php
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Session\Session;
class MyController extends AbstractController
{
/**
* @Route("/MyPage")
*/
public function SubmitBootstrapAction(LoggerInterface $logger)
{
...
/config/routes.yaml
#index:
# path: /
# controller: App\Controller\DefaultController::index
【问题讨论】:
-
apache2 mod rewrite 是否启用?
-
哇,这实际上使路由工作。
sudo a2enmod rewrite启用了重写模块,现在我看到 PHP 错误。 -
为了提高性能,你应该使用 FallbackResource 而不是 mod rewrite。 :-)
标签: php symfony routes apache2