1

我想不通这个。

首先让我说我的缓存被清除了。我什至删除了 app/cache 中的 prod 和 dev 目录。所以这不是未更新的产品路线的问题。

这是我的路由器:调试输出:

产品:应用程序/控制台路由器:调试 --env=prod:

[router] Current routes
Name            Method Pattern
instrumentlabel ANY    /backend/instrumentlabel/{page}/{filter}
marketmapping   ANY    /backend/marketmapping/{page}/{filter}

开发:应用程序/控制台路由器:调试 --env=dev

[router] Current routes
Name            Method Pattern
instrumentlabel ANY    /backend/instrumentlabel/{page}/{filter}
marketmapping   ANY    /backend/marketmapping/{page}/{filter}

两者都是相同的(我的配置没有区别)。

访问/backend/instrumentlabel在两种环境中都有效。但是当我尝试访问/backend/marketmapping它时,它只能在开发环境中工作。

在 prod 环境中,我总是/backend/marketmapping/无缘无故地被重定向到(注意前导斜杠)。

prod.log简单地说:

 request.ERROR: [...]: No route found for "GET /backend/marketmapping/"
4

1 回答 1

1

事实证明,这实际上是浏览器缓存问题

我意识到 FireFox 声明/backend/marketmapping永久移动(HTTP 301)到/backend/marketmapping/.

一周前,我不得不更改路由。在此之前,Symfony2 必须已经/backend/marketmapping使用 301 来响应请求/backend/marketmapping/。我的 FireFox 缓存了该信息(但仅在 prod 环境中,在 dev 中这是一个 302,浏览器不得缓存)。

在我检查了 Opera 中一切正常的路线后,我意识到了这一点。

敬启者:

要强制 FireFox 忘记缓存重定向,您可以按照以下说明进行操作:

http://forums.mozillazine.org/viewtopic.php?f=38&t=1995719


有趣的是,您的大多数问题在您提出问题后立即得到了自己的回答。

于 2012-06-14T10:35:21.347 回答