Zend Framework有CamelCase控制器名称的问题?

Ben*_*san 1 .htaccess zend-framework camelcasing routes zend-route

我有一个Zend Framework应用程序我一直在我的本地机器上工作,我将它部署到服务器但是有.htaccess问题,因为一些但不是所有路由都因" 找不到页面 "而失败.非常奇怪,我无法访问某些控制器.

我的.htaccess是:

RewriteBase /~user/path/to/app/public/

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Run Code Online (Sandbox Code Playgroud)

仅在服务器上本地计算机上不会发生此错误.我唯一能看到的是服务器上出现" 找不到页面 "错误的控制器通常是控制器名称是驼峰式的.

工作的控制器:CustomerController,InvoiceController,StockController.失败的控制器:SuppliersStockController,StockTypesController.

如果我尝试做"www.route/to/app/stock-types /"或"/stock.types/"之类的操作,我会收到" 应用程序错误 ".

Rob*_*len 8

您正在看到区分大小写的文件系统的影响.

当你去的时候/stocktypes/index,ZF将StocktypesController.php在Mac OS X和Windows等不区分大小写的系统上寻找并取得成功.然而,在Linux上,它将失败.

如果你去/stock-types/index,那么ZF StockTypesController.php将寻找并将在Linux上找到它.

如果ZF找到CamelCased控制器名称,那么它将查找带有连字符的视图文件夹.