Magento自定义路线/控制器转到404

时间:2013-07-07 10:53:34

标签: php magento module routes http-status-code-404

早上好!我正在尝试创建一个Magento模块,但是我在模块的config.xml中定义的路由会导致404页面。

我知道这个问题已经无数次出现了,我花了整整一夜的时间来阅读我在这个问题上找到的所有SO回复。

这就是我所做的:

  1. 清除var / cache& var / session文件夹
  2. Ran compiler.php - clear,compiler.php - disable和compiler.php - compile
  3. 清除&刷新管理面板中的缓存和缓存存储,从后端和命令行重新编制索引
  4. 创建了一个用于测试的新软件包/模块,与之前使用的完全不同。它出现在System>> Configuration>> Advanced。
  5. 已确认Magento未将商店代码附加到网址
  6. 将我的代码简化为我的controllers文件夹中IndexController.php的indexAction()函数中的单个echo语句。
  7. 尝试导航到mydomain.com/customroute和mydomain.com/index.php/customroute和mydomain.com/customroute/index/index,以及mydomain.com/index.php/index及其所有可能的变体。< / LI>
  8. 多次重复步骤1-8。的xD
  9. 以下是一些参考屏幕截图。提前谢谢 - 如果有人有任何想法如何超越这个,这将是一个完全的救命。谢谢!

    编辑:

    以下是app / etc / modules / Wolverine_Taurine.xml中的代码:

    <?xml version="1.0"?>
    <config>
        <modules>
            <Wolverine_Taurine>
                <active>true</active>
                <codePool>local</codePool>
            </Wolverine_Taurine>
        </modules>
    </config>
    

    狼獾/牛磺酸的/ etc / config.xml中:

    <?xml version="1.0"?>
     <config>
        <modules>
            <Wolverine_Taurine>
                <version>1.0</version>
            </Wolverine_Taurine>
        </modules>
        <frontend>
            <routers>
                <wolverine_taurine>
                    <use>standard</use>
                    <args>
                        <module>Wolverine_Taurine</module>
                        <frontName>taurine</frontName>
                    </args>
                </wolverine_taurine>
            </routers>
        </frontend>
     </config>
    

    狼獾/牛磺酸/控制器/ IndexController.php:

    <?php
    class Wolverine_Taurine_IndexController extends Mage_Core_Controller_Front_Action
    {
        public function indexAction()
        {
            echo "I look incredible.";
        }
    }
    

2 个答案:

答案 0 :(得分:3)

我使用过您的模块,它对我来说非常有用。如果您使用的是Linux平台,则应对所有文件和文件夹授予适当的权限。我认为这是由于文件/文件夹权限而发生的。将Magento基本目录中所有文件的Linux权限更改为拥有用户(您)可读写。设置文件的权限为664,文件夹设置为775。 775文件也可以。为media和var设置777,每个人只需要写入2个文件夹。

答案 1 :(得分:2)

我有同样的问题,但解决方案有所不同。在我的情况下,它是配置“问题” - <disable_local_modules>true</disable_local_modules>中的前一个开发人员集app/etc/local.xmlExcellence_Ajaxapp\design\frontend\default\theme392\template\catalog\product\view.phtml的硬编码前端部分,而不是使用模块的模板(或具有本地模块)也是禁用,因此无法正常工作)。最后,它使用ajax(硬编码的javascript)请求,但由于禁用模块而未被路由。

我按照here所述调试它。我读了日志并且在ajaxadmin路由器中都找不到standard模块,所以我深入挖掘是否加载了模块的配置。我在Mage::log()中的app\code\core\Mage\Core\Model\Config.php中又添加了一个loadModulesConfiguration(),我在项目中搜索'config.xml'后找到了该$disableLocalModules,并检查了{{1}}的值。 Voila ..这么简单但又很难;)