CakePHP View URL 在一台服务器上区分大小写,而不是在另一台服务器上.为什么


CakePHP View URLs case-sensitive on one server, not another... why?

所以我正在开发一个 CakePHP 应用程序,并且在我的一个控制器中有这样一行:

$this->render('/vids/index');

它在 MAMP 中工作正常。但是在我的实时站点(在MediaTemple上)上,控制器找不到视图。在几乎把头发后,我把台词改成了这样:

$this->render('/Vids/index');

它奏效了。

咦?什么可以解释一个系统区分大小写,而另一个系统不区分大小写?我的假设是这不是蛋糕问题,但我很困惑,我不知道是什么导致了这种差异。

仅仅是因为第二行(大写 Vids)对于 2.0 应用程序是正确的。而且我想OSX(从您使用MAMP猜测)和部署应用程序的服务器操作系统之间存在差异。

为什么要手动调用 render()?如果您从 Web 访问/vids,它应该会自动路由到 VidsController::index(),控制器将自动选择正确的视图。

视频的支架?这是一个可怕的名字。代码中的缩写很难,如果你想依赖/vids 的 URL 使用路由器重写该 URL。