我正在尝试在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”会导致错误,但有时则会出现另一种情况,没有押韵也无法确定原因。
编辑:每次刷新索引时似乎都会改变......但仍然不确定为什么会这样。
之前是否有人遇到此问题,或建议任何可能有助于解决问题的方法?
答案 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')
第一个选项没有错误,第二个选项可能很棘手......