共享主机上的 Symfony2 返回 404

Symfony2 on shared hosting returning 404

在本地 apache(在 Centos 上)上开发的网络应用程序按预期工作,所有路由工作正常。但是,在共享主机上上传相同的相同项目、使用相同的路径并多次清除缓存时,服务器返回 404。

routing.yml:

app:
     resource: "@AppBundle/Controller/"
     type:     annotation

maya:
    resource: "@AppBundle/Controller/MayaController.php"
    type:     annotation

此外,路由在控制器方法上指定为:

/**
 * @Route("/maya/")
 */
public function initLoad()
{
    return $this->render(
        'base.html.twig');
}

已使用 php app/console cache:clear --env prod 命令和 rm -fr app/cache/*.

清除缓存

当访问 Web 文件夹时,即 www.mywebsite.com/my-site-folder/web/ 列出了 Web 文件夹内的所有文件,当访问 www.mywebsite.com/my-site-folder/web/ 时app.php 正在返回基本模板,即好像已调用 www.mywebsite.com/my-site-folder/web/maya。

关于问题的任何建议它在 linux 上的本地 Apache 服务器上运行良好?

提前致谢!

阅读您的评论后,我发现通过 /web/app.php 可以访问您的站点,我怀疑 .htaccess 未被服务器解析。请确保

  • Symfony 的 .htaccess 文件已正确上传到 /web/ 目录,
  • 您的主机没有启用 .htaccess 支持,
  • 或者如果启用了 .htaccess 支持,可能的重写规则将被禁用。

我建议您与房东确认一下。

注意: 您提供的 routing.yml 已经包含您的 MayaController.php:

app:
     resource: "@AppBundle/Controller/"
     type:     annotation

你不需要单独引用这个:

maya:
    resource: "@AppBundle/Controller/MayaController.php"
    type:     annotation