Php 共享主机上的Symfony2返回404

Php 共享主机上的Symfony2返回404,php,apache,symfony,caching,shared-hosting,Php,Apache,Symfony,Caching,Shared Hosting,在本地apache(在Centos上)上开发的web应用程序按预期工作,所有路由工作正常。但是,在共享主机上上载相同的项目时,使用相同的路径并多次清除缓存,服务器返回404 routing.yml: app: resource: "@AppBundle/Controller/" type: annotation maya: resource: "@AppBundle/Controller/MayaController.php" type: a

在本地apache(在Centos上)上开发的web应用程序按预期工作,所有路由工作正常。但是,在共享主机上上载相同的项目时,使用相同的路径并多次清除缓存,服务器返回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应用程序/控制台缓存:clear--env prod
命令和
rm-fr应用程序/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

此外,有时当我清除缓存时,会出现以下错误:致命错误:无法在第71行的/home/mywebsite/app/cache/prod/classes.php中重新声明类SessionHandlerInterface,这可以通过为缓存文件夹运行rm-fr来纠正。可能是PHP版本不匹配吗?我正在使用symfony 2.8尝试使用此
@Route(“/maya/”)
@Route(“/maya”)
在url中添加app.php时工作,即:www.mywebsite.com/my-site-folder/web/app.php/maya按预期工作。但我仍然觉得奇怪,为什么app.php是必需的,而在我的apache上却没有。本地apache在prod模式下运行。谢谢@这是因为.htaccess未上载到服务器上,.htaccess支持未启用,或者重写规则未启用。我建议您联系您的主机,询问他们是否启用了.htaccess支持,如果启用,是否也启用了重写规则。在此处找到答案:。谢谢你指出了正确的方向@威廉:没问题!出于好奇,
.htaccess
在您的symfony发行版中不存在?不存在。我使用了symfony安装程序,创建了一个项目版本2.8,如果您在github上查看
2.8
分支,您会看到
。htaccess
已经存在。您是否使用FTP将文件上载到共享主机服务器?可能你的FTP客户端没有上传隐藏文件。很可能是的,尽管我是从CentOS dist上传的,我不记得隐藏文件没有显示/省略,但还是有可能的。非常感谢你的帮助,它确实帮助了我!