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/"之类的操作,我会收到" 应用程序错误 ".
您正在看到区分大小写的文件系统的影响.
当你去的时候/stocktypes/index,ZF将StocktypesController.php在Mac OS X和Windows等不区分大小写的系统上寻找并取得成功.然而,在Linux上,它将失败.
如果你去/stock-types/index,那么ZF StockTypesController.php将寻找并将在Linux上找到它.
如果ZF找到CamelCased控制器名称,那么它将查找带有连字符的视图文件夹.