2010-05-27 48 views
0

我們通常使用兩種不同的託管服務。一方面,所有東西都可以用作ticketyboo,就像它在我的本地開發服務器上一樣。在其他的服務器,但是,我有這樣的問題:大小寫敏感與用戶控制器在某些託管

我不能訪問用戶控制器是這樣的: http://www.example.com/users/login

但我喜歡這樣的: http://www.example.com/Users/login

**注意大寫'用戶'**

如果我將應用程序置換到子文件夾,一切正常(大寫和小寫)。

託管公司已經看過它,在他們的最後看不到問題,他們向我保證,用戶不是保留字。

你可能會說這不是問題,只是使用可用的版本。不幸的是,它導致下游的問題,Cake核心本身開始生成URL。

其他人看到這個問題或知道解決方案?

[這隻發生在用戶控制器上 - 所有其他工作如預期]

回答

0

雖然託管支持否認詞「用戶」或「用戶」或「用戶」在保留的任何方式,它似乎是:

「我們已經移除了用戶/重定向」

問題解決了。

0

沒有看到所有的代碼/潛水太深,我不知道這個問題的原因是什麼。你在route.php文件中有一些特殊的東西嗎?如果你有爲用戶定義的特定路線,那可能就是這樣。然後,你可以做一個快速修復 - 在UsersController(或者AppController,如果你想確保這個行爲不會在其他地方彈出),只需要添加一行到beforeFilter()方法來大寫/ decapitalize(以二者爲準)更合適)控制器參數。

- 對不起,沒有完成第一段。它仍然可能是路由文件,即使它可以在一臺服務器上運行,而不在另一臺服務器上運行,因爲工作服務器可能使用不區分大小寫的Apache模塊來標準化所有的URL。這就是爲什麼你的舞臺和開發設置與生產完全相同是很好的原因。

+0

這是一個相當複雜的內部CMS應用程序,是的,在路由中有一些特殊的東西,但我確定這不是問題。這僅適用於用戶,僅當應用程序位於根文件夾中且僅在一臺服務器上時。 – Leo 2010-05-28 08:39:45

+0

我現在已經在大約40個CakePHP網站上部署了大約十幾種不同的託管服務,而且沒有這個問題,還有兩個在這個特定的服務器上都有問題。 我可能會調查您的建議。 beforeFilter。不幸的是,在相同的設置下開發和升級是一種罕見的奢侈品,儘管我至少在Linux和Mac上開發並在Linux上發佈。除此之外,我無法控制。由於我的大部分工作是交付此CMS,所以完全相同將是完全不切實際的。 – Leo 2010-05-28 08:40:06