我有一个Zend应用程序,我一直在我的本地机器上工作,我已经将它部署到一个服务器上,但是出现了.htaccess问题,因为一些但不是所有的路由都失败了,因为"Page “太奇怪了,我连控制器都找不到。
我的.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]此错误不发生在本地计算机上,而仅发生在服务器上。在服务器上有“未找到页面”错误的控制器唯一常见的情况是Controller名称是camel情况。
工作的控制器: CustomerController,InvoiceController,StockController。失败的控制器: SuppliersStockController,StockTypesController。
如果我尝试做‘www.path/ to /app/stock-type/’或‘/stock.type/’之类的事情,我会得到一个“应用程序错误”。
发布于 2012-04-30 07:49:59
您正在看到区分大小写的文件系统的效果。
当您进入/stocktypes/index时,ZF将寻找StocktypesController.php,并在Mac和Windows等不区分大小写的系统上成功。然而,在Linux上,它将失败。
如果您转到/stock-types/index,ZF将查找StockTypesController.php并在Linux上找到它。
如果ZF找到了一个CamelCased控制器名,那么它将查找一个带有连字符的视图文件夹。
https://stackoverflow.com/questions/10372318
复制相似问题