繁体   English   中英

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

[英]Issue when deploying Symfony project to prod server

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

所以这是我的 controller 之一,名为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');
    }

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

 --------- -------- -------- ------ ------ ----------------------------------------
  Name      Method   Scheme   Host   Path   Controller
 --------- -------- -------- ------ ------ ----------------------------------------
  home      ANY      ANY      ANY    /      App\Controller\HomeController::index()
  home_pc   ANY      ANY      ANY    /pc    App\Controller\HomeController::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]

即使它有效,也不应该这样做,所以将其视为临时解决方案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM