我创建了一个模块,可以在我的Windows XAMPP安装。但是,在Linux上进行测试似乎并不正确。更具体地说,我的控制器似乎没有加载。Magento控制器工作Windows,而不是Linux
当访问url www.mysite.com/modulename/standard/
我得到一个404错误。我希望得到一条消息,输出控制器中类定义之前的die('here')
。
控制器文件是/app/code/local/Namespace/Modulename/controllers/StandardController.php
。
该类这个文件中定义的,像这样:
class Namespace_Modulename_StandardController extends Mage_Core_Controller_Front_Action
从我的XML配置文件中的提取物是在这里:
<frontend>
<routers>
<modulename>
<use>standard</use>
<args>
<module>Namespace_Modulename</module>
<frontName>modulename</frontName>
</args>
</modulename>
</routers>
<!-- other blocks here -->
</frontend>
我最初的想法是,这是一个区分大小写问题,我没有注意到在Windows上开发。以前的XML片段如下所示,这也不起作用。另请注意,我曾尝试访问两个XML版本www.mysite.com/Modulename/standard
和www.mysite.com/modulename/standard
,每次都有404错误。
<Modulename>
<use>standard</use>
<args>
<module>Namespace_Modulename</module>
<frontName>Modulename</frontName>
</args>
</Modulename>
有没有人知道可能是什么问题?
谢谢。
编辑
按照要求,这里是模块的配置文件。这一切似乎都是正确的 - 模块显示在Admin/Developer页面中,模块配置屏幕(在system.xml中生成)出现在后端。而且,模块的一部分(以及看似控制器)正在前端工作!
<config>
<modules>
<Namespace_Modulename>
<active>true</active>
<codePool>local</codePool>
</Namespace_Modulename>
</modules>
</config>
编辑2
有些版本可能证明是有用的。 PHP 5.3 Magento的1.5.1.0
你可以显示'应用程序/ etc/modules/namespace_modulename.xml'吗? – jamapag
@jamapag - 用XML编辑了问题。谢谢。 – Pete171
清除缓存rm -rf var/cache/*? –