Symfony2路由在prod环境中表现不同

时间:2012-06-14 10:20:28

标签: symfony routing production-environment

我无法想出这个。

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

这是我的路由器:debug output:

产品: app / console路由器:debug --env = prod:

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

开发: app / console路由器:debug --env = dev

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

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

Acessing /backend/instrumentlabel适用于两种环境。但是当我尝试访问/backend/marketmapping时,它只适用于开发环境。

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

我的prod.log只是声明:

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

1 个答案:

答案 0 :(得分: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


有趣的是,在你提出问题之后,你的大部分问题都会得到自己的回答。