symfony2.3路由不适用于prod env

时间:2015-04-08 10:51:58

标签: php symfony-2.3 symfony-routing

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

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

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

我启用了prod env:$kernel = new AppKernel('prod', true); 尝试在 prod_env 上执行该页面:http://localhost/fstn/web/app_dev.php/contact会返回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环境中显示联系页面。 我该如何解决这个问题?

- 编辑--- 我发现了我的错误来源,实际上我应该使用此路径在prod env:http://localhost/fstn/web/app.php/contact中工作,但我在http://localhost/fstn/web/contact之前使用它来测试。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

清除你的缓存,没关系。