symfony2.3 路由不适用于 prod env

symfony2.3 routing doesn't work on prod env

我正在尝试在 windows 环境中使用 symfony 在我的网站上创建一个 /contact 路由。 我在 routing.yml 文件中添加了这样的路由:

fstn_venice_homepage:
resource: "@FstnVeniceBundle/Resources/config/routing.yml"
prefix:   /

fstn_venice_contact:
pattern:   /contact
defaults:  { _controller: FstnVeniceBundle:Contact:send }

我已经启用了产品环境:$kernel = new AppKernel('prod', true); 尝试在 prod_env 上执行页面:http://localhost/fstn/web/app_dev.php/contact return 出现 404 错误,但在 dev_env 它正确显示联系页面。 所以我尝试通过以下方式调试路由:php app/console router:debug -e=prod 我明白了:

Name Method Scheme Host Path fstn_venice_homepage ANY ANY ANY / fstn_venice_contact ANY ANY ANY /contact

我什至尝试使用命令行清除缓存:

php .\app\console cache:clear --env=prod --no-debug 并且它没有显示任何错误,但没有运气在生产环境中显示联系页面。 我该如何解决这个问题?

--编辑--- 我找到了错误的根源,实际上我应该使用这个路径在 prod env:http://localhost/fstn/web/app.php/contact but I used before http://localhost/fstn/web/contact 中工作来测试。

清空你的缓存,就好了。

说你想要一个 prod 环境的内核 $kernel = new AppKernel('prod', true); 你告诉他禁止访问 dev url http://localhost/fstn/web/app_dev.php/contact.

如果您想访问产品 url,请将 app_dev.php 替换为 app.php。 您仍然可以让内核 env 配置到 dev,并在 prod 环境中进行测试。每次更改后,不要忘记清除缓存,然后 chmod ;)