Cakephp 特定主机上用户控制器的区分大小写能力

Cakephp 特定主机上用户控制器的区分大小写能力,cakephp,case-sensitive,Cakephp,Case Sensitive,我们通常使用两种不同的托管服务。一方面,ticketyboo的所有功能都可以正常工作,就像在我的本地开发服务器上一样。但是,在另一台服务器上,我遇到了以下问题: 我无法像这样访问用户控制器: 但我可以这样说: **注意大写的“用户”** 如果我将应用程序替换到一个子文件夹中,一切正常(大写和小写) 托管公司对此进行了研究,没有发现任何问题,他们向我保证,用户不是一个保留字 您可能会说这不是问题,只需使用有效的版本即可。不幸的是,它导致了下游问题,Cake core开始自己生成URL 还有谁见

我们通常使用两种不同的托管服务。一方面,ticketyboo的所有功能都可以正常工作,就像在我的本地开发服务器上一样。但是,在另一台服务器上,我遇到了以下问题:

我无法像这样访问用户控制器:

但我可以这样说:

**注意大写的“用户”**

如果我将应用程序替换到一个子文件夹中,一切正常(大写和小写)

托管公司对此进行了研究,没有发现任何问题,他们向我保证,用户不是一个保留字

您可能会说这不是问题,只需使用有效的版本即可。不幸的是,它导致了下游问题,Cake core开始自己生成URL

还有谁见过这个问题或知道解决方法吗


[这只发生在用户控制器上-所有其他控制器都按预期工作]

如果没有看到您的所有代码/深入研究,我不确定此问题的原因是什么。在routes.php文件中是否有一些特殊内容?如果您为用户定义了特定的路由,则可能就是它

但是,您可以做一个快速修复——在UsersController(或者AppController,如果您想确保这种行为不会在其他地方弹出)中,只需在beforeFilter()方法中添加一行,以大写/取消大写(以更合适的为准)控制器参数


[编辑]-抱歉,我没有完成第一段。它仍然可能是路由文件,即使它在一台服务器上工作,而不是在另一台服务器上,因为工作服务器可能使用不区分大小写的apache模块来规范所有URL。这就是为什么您的登台和开发设置与生产完全相同的原因。

虽然托管支持否认“用户”或“用户”或“用户”一词在任何方面都是保留的,但似乎是:

“我们已删除用户/重定向”


问题解决。

这是一个相当复杂的内部CMS应用程序,是的,路由中有一些特殊的东西,但我确信这不是问题所在。这只会发生在用户身上,只有当应用程序位于根文件夹中且仅在一台服务器上时才会发生。我现在已经在十几个不同的托管服务上部署了大约四十个CakePHP网站,但没有这个问题,在这个特定的服务器上部署了两个都有问题的网站。我可能会重新调查你的建议。在过滤之前。不幸的是,在同一个设置上进行开发和登台是一种罕见的奢侈,尽管我至少在Linux和Mac上开发并在Linux上发布。除此之外,我几乎无法控制。由于我的大部分工作是交付此CMS,因此完全相同是完全不切实际的。