我只是面临一些奇怪的情况。我在 symfony 1.4 中有一个项目,它有两个应用程序(api & admin)。我曾经在两个操作系统中工作,在我的办公室里,我在家里有 ubuntu 和 window 7。
在办公室(ubuntu 11.10)一切正常,而在家里(带有 XAMPP 的 Window 7),当我从 API 应用程序(比如说http://www.domain.local/api_dev.php/users.xml
)请求一个 url 时,给出答案的前端控制器是管理员(admin_dev.php)。结果我得到 404 错误,因为该路由不是在管理应用程序中定义的,而是在 API 中定义的。
我已经丢弃了项目副本中的错误,或者因为我使用 git 进行版本控制。该 api 应用程序由sfDoctrineRestGeneratorPlugin提供支持,并且以前可以正常工作,但在引入错误时我没有注意到,因为在办公室一切正常。我曾尝试清除缓存,再次从办公室克隆该项目,但没有成功。
在我看来这不是 XAMPP 问题,因为它之前工作正常并要求http://www.domain.local/api_dev.php/product.xml
给我这些日志条目:
admin_dev.log
Apr 03 14:42:09 symfony [err] {sfError404Exception} Empty module and/or action after parsing the URL "/product.xml" (/).
api_dev.log [空日志文件]
如果我请求:
http://www.domain.local/api_dev.php/
它会将我发送到管理主页,但如果我请求:(
http://www.domain.local/api_dev.php
注意缺少斜线)它会转到 API 中的默认索引路由。在 api_dev.log 我得到了预期的条目。这让我想到了一个路线问题,但没有提出任何想法。
在这两个应用程序中,我都有这样的默认主页路由:
-API-
homepage:
url: /
param: { module: product, action: index }
-行政-
homepage:
url: /
param: { module: ouradmin, action: index }
感谢您的聆听和时间任何帮助或建议将不胜感激。
谢谢大卫