将Symfony项目部署到prod服务器时出现问题



我是Symfony的新手,我遇到了一个问题,我的路由返回404错误。在我的开发环境中,一切都很好,但我不知道如何在prod服务器上部署我的项目。我可能在什么地方漏了一步。

这是我的一个控制器名为HomeController:

<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentRoutingAnnotationRoute;
class HomeController extends AbstractController
{
#[Route('/', name: 'home')]
public function index(): Response
{
return $this->render('home/index.html.twig');
}

#[Route('/pc', name: 'home_pc')]
public function pc(): Response
{
return $this->render('home/pc.html.twig');
}

当我执行以下命令php bin/console debug:router --show-controllers。控制台输出以下内容,所以我猜Symfony知道我的不同路由。

--------- -------- -------- ------ ------ ----------------------------------------
Name      Method   Scheme   Host   Path   Controller
--------- -------- -------- ------ ------ ----------------------------------------
home      ANY      ANY      ANY    /      AppControllerHomeController::index()
home_pc   ANY      ANY      ANY    /pc    AppControllerHomeController::pc()
--------- -------- -------- ------ ------ ----------------------------------------

然后,当我尝试访问mywebsite.com/pc时,例如,它只给我一个空白页和404错误。

有谁能帮我解决这个问题吗?也许你需要另一份文件来看看出了什么问题?

尝试将。htaccess内容放到public_html目录

RewriteEngine On
RewriteCond %{THE_REQUEST} /public/([^s?]*) [NC]
RewriteRule ^ %1 [L,NE,R=302]
RewriteRule ^((?!public/).*)$ public/$1 [L,NC]

即使它工作,也不应该这样做,所以把它看作是一个临时解决方案

相关内容

  • 没有找到相关文章

最新更新