【发布时间】:2011-11-17 19:01:55
【问题描述】:
我创建了一个适用于我的 Windows XAMPP 安装的模块。但是,在 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 片段以前如下所示,这也不起作用。另请注意,我已尝试访问 www.mysite.com/Modulename/standard 和 www.mysite.com/modulename/standard 的两个 XML 版本,但每次都出现 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
【问题讨论】:
-
你能显示
app/etc/modules/Namespace_Modulename.xml吗? -
@jamapag - 已使用 XML 编辑问题。谢谢。
-
清除缓存 rm -rf var/cache/* ?
-
@Anton S - 是的,缓存已清除(也已禁用)。索引也是最新的。
-
愚蠢的问题,但是你的
Namespace_Modulename_StandardController类中有indexAction()方法吗?
标签: php xml windows linux magento