Php 将Symfony项目部署到prod server时出现问题

Php 将Symfony项目部署到prod server时出现问题,php,symfony,Php,Symfony,我是Symfony的新手,遇到了一个问题,我的路由返回404错误。在我的开发环境中一切正常,但我不知道如何在prod服务器上部署我的项目。我可能在什么地方漏了一步 这是我的一个控制器,名为HomeController: <?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\

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

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

<?php

namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

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');
    }
然后,当我尝试访问
mywebsite.com/pc
时,它只会给我一个空白页面和一个链接


有人能帮我解决这个问题吗?也许您需要另一个文件来查看问题所在?

尝试将此.htaccess内容放在public\u html目录中

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

即使它有效,也不应该这样做,所以把它当作一个临时解决方案

你在url mywebsite.com/上看到了什么?你有什么样的主机?您是否将(可能是错误的单词,但您需要告诉您的服务器开始从symfony公用文件夹读取网站)public_htmo重定向到(symfony/public)?同样,一个空白页面和一个404错误。我正在使用cPanel,但我没有symfony目录。一切都在public_htmlsymfony从public(你在public_html)目录开始,这就是问题的所在,我只是个傻瓜。我已经删除了所有内容并重新创建了一个新项目,我可以访问我的路线!现在我有了一个symfony目录。但现在唯一的问题是,我必须转到以下地址
mywebsite.com/symfony/public/pc
,现在我想从URL中删除symfony/public,这是一个托管服务器问题。您需要将服务器直接指向公共目录。具体操作方式取决于服务器和主机。
RewriteEngine On
RewriteCond %{THE_REQUEST} /public/([^\s?]*) [NC]
RewriteRule ^ %1 [L,NE,R=302]
RewriteRule ^((?!public/).*)$ public/$1 [L,NC]