Windows服务器上的Magento区分大小写问题

时间:2013-06-28 06:31:22

标签: magento iis-7 url-routing

我正在尝试在Windows服务器(IIS 7)服务器上配置Magento网站。在大多数情况下,网站似乎工作正常,但在似乎随机的实例中,URL中“index.php”的大写变为“Index.php”(反之亦然),并导致404错误。

即。有时当我打开任何特定页面时,我会看到http://mywebsite/index.php/payment形式的网址,但有时我会得到http://mywebsite/Index.php/payment,向我显示404未找到的错误。然后,如果我在地址字段中手动从Index.php更改为index.php,则页面会正确加载。

令人沮丧的是,有时候首都“Index.php”会起作用而小写的“index.php”会导致错误,但有时则会出现另一种情况,没有押韵也无法确定原因。 编辑:每次刷新索引时似乎都会改变......但仍然不确定为什么会这样。

之前是否有人遇到此问题,或建议任何可能有助于解决问题的方法?

1 个答案:

答案 0 :(得分:0)

只需要非常小心您的命名约定。 Linux不区分大小写。 Windows区分大小写。

第一件事:您为什么尝试使用大写的Index.php访问您的网站? (标准magento文件是小写的index.php)

接下来,您知道可以通过Backoffice配置隐藏URL中的“index.php”字符串部分吗?

最后,(我不知道它是否发生在您身上,但记住它很好)在PHP类中添加最小的大写字母。它可以简化你的生活:

示例:文件./Model/Folder/Phpclass.php将被称为Mage::getModel('module/folder_phpclass')

但文件./Model/Folder/PhpClass.php将被称为Mage::getModel('module/folder_phpClass')

第一个选项没有错误,第二个选项可能很棘手......