共享主机上的 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
在本地 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