Magento扩展404错误

我难倒了!

我有一个自定义的扩展,在Mac Leopard上本地工作的很好,但是在推送到主机(Centos Linux)后,当我尝试调用前端路由器时,出现Magento 404错误。

例如,这个URL:[domain] /shop/index.php/bbyd_sync/index/导致实时404,但本地返回“完成”。

这是我的config.xml

<config> <modules> <Bbyd_Sync> <version>0.1.0</version> </Bbyd_Sync> </modules> <crontab> <jobs> <bbyd_sync> <schedule> <cron_expr>*/5 * * * *</cron_expr> </schedule> <run> <model>sync/run::runAll</model> </run> </bbyd_sync> </jobs> </crontab> <frontend> <routers> <sync> <use>standard</use> <args> <module>Bbyd_Sync</module> <frontName>bbyd_sync</frontName> </args> </sync> </routers> </frontend> <admin> <routers> <wrapper> <use>admin</use> <args> <module>Bbyd_Sync</module> <frontName>syncadmin</frontName> </args> </wrapper> </routers> </admin> <adminhtml> <acl> <resources> <all> <title>Allow Everything</title> </all> <admin> <children> <system> <children> <config> <children> <bbyd translate="title" module="run"> <title>BBYD Sync</title> <sort_order>808</sort_order> </bbyd> </children> </config> </children> </system> </children> </admin> </resources> </acl> <translate> <modules> <Bbyd_Sync> <files> <default>BBYD_Sync.csv</default> </files> </Bbyd_Sync> </modules> </translate> </adminhtml> <global> <models> <sync> <class>Bbyd_Sync_Model</class> <resourceModel>sync_mysql4</resourceModel> </sync> <sync_mysql4> <class>Bbyd_Sync_Model_Mysql4</class> <entities> <run> <table>bbyd_sync</table> </run> </entities> </sync_mysql4> </models> <helpers> <sync> <class>bbyd_sync_helper</class> </sync> </helpers> <resources> <sync_setup> <setup> <module>Bbyd_Sync</module> </setup> <connection> <use>core_setup</use> </connection> </sync_setup> <sync_write> <connection> <use>core_write</use> </connection> </sync_write> <sync_read> <connection> <use>core_read</use> </connection> </sync_read> </resources> </global> <default> <bbyd> <setup> <send_new_customer_account_email>0</send_new_customer_account_email> </setup> <cron> <log_file_name>bbyd_sync.log</log_file_name> </cron> </bbyd> </default> 

我的IndexController.php

 class Bbyd_Sync_IndexController extends Mage_Core_Controller_Front_Action { public function indexAction() { echo "done"; } } 

我的应用程序/代码/本地结构(我在这里使用字母大小写):

 Bbyd Sync controllers IndexController.php etc config.xml system.xml Helper Data.php Model Run.php Mysql4 Run.php sql sync_setup mysql4-install-0.1.0.php 

当然,我也有/app/code/etc/modules/Bbyd_Sync.xml。

任何人有关于Magento的Mac和Linux平台之间发生的问题一些明智的想法? 也许文件/目录的shell?

顺便说一下,这是Magento 1.5。

任何帮助赞赏…(我的第一个要求,所以请温柔!)

Solutions Collecting From Web of "Magento扩展404错误"

第0步:清除活动服务器上的缓存和会话。

第1步:检查您的模块是否使用免费/开源模块列表模块进行安装

第二步:用下面的方法删除一些调试代码。 var_dumps会告诉你哪些文件/类Magento的路由器正在寻找您的模块,但无法找到。

 File: app/code/core/Mage/Core/Controller/Varien/Router/Standard.php protected function _validateControllerClassName($realmodulee, $controller) { $controllerFileName = $this->getControllerFileName($realmodulee, $controller); if (!$this->validateControllerFileName($controllerFileName)) { var_dump($controllerFileName); return false; } $controllerClassName = $this->getControllerClassName($realmodulee, $controller); if (!$controllerClassName) { var_dump($controllerFileName); return false; } // include controller file if needed if (!$this->_includeControllerClass($controllerFileName, $controllerClassName)) { var_dump($controllerFileName); return false; } return $controllerClassName; } 

第3步:调试404页面 。

只要注销并重新登录管理面板,事情将再次工作:-)

解决!

我无法用Alan的建议取得进展,但是当我使用moduleeCreator重新构建扩展时,这一切都无误。