【问题标题】:How to log Magento "404" pages如何记录 Magento “404”页面
【发布时间】:2012-03-29 17:09:51
【问题描述】:

我正在运行一个 Magento 社区网站(版本 1.5.1),但遇到“404”页面问题。

我们有用户通过直接链接和 google/bing 搜索结果登陆我们的网站。他们访问的页面可能不正确,因为它们可能已更改。 Magento 使用 MVC 将请求路由到正确的控制器,但是当没有控制器时,Magento 会显示静态 CMS 页面(即“404”页面)。问题是该页面不允许我在其上编写自定义 PHP 代码,因此我无法记录导致 404 的 URL。

如果我可以在显示 CMS 404 页面之前在代码中找到正确的点,那么我可以记录 URL 并使用它来进行适当的 URL 重写。

有人可以帮助我了解最终放弃任何控制器并显示自定义 CMS“404”页面的代码在哪里吗?

【问题讨论】:

    标签: magento http-status-code-404


    【解决方案1】:

    这基本上发生在Mage_Cms_IndexController::noRouteAction()。但是您也可以查看您的网络服务器日志以查找具有 404 返回代码的条目(404 以相同的方法设置)。

    【讨论】:

    • 感谢您的回答。众所周知,导航 Magento 是一种痛苦——这意味着我猜它有一个很好的抽象架构。您的帮助非常宝贵。
    【解决方案2】:

    Alex 的回答很准确。我想我会根据他的回答发布我为解决问题而编写的代码。

    /**
     * Render CMS 404 Not found page
     *
     * @param string $coreRoute
     */
    public function noRouteAction($coreRoute = null)
    {
        $this->getResponse()->setHeader('HTTP/1.1','404 Not Found');
        $this->getResponse()->setHeader('Status','404 File not found');
    
        /* JCS */
        $path = $this->getRequest()->getPathInfo();
    
        if (!startsWith($path, '/media/')) {
            if (!startsWith($path, '/images/')) {
                if (!startsWith($path, '/ebay/')) {
                    if (!startsWith($path, '/app/')) {
                        Mage::log('JCS:noRouteAction:path:'.$path);
                    }
                }
            }
        }
    
        $pageId = Mage::getStoreConfig(Mage_Cms_Helper_Page::XML_PATH_NO_ROUTE_PAGE);
        if (!Mage::helper('cms/page')->renderPage($this, $pageId)) {
            $this->_forward('defaultNoRoute');
        }
    }
    

    我还添加了一个startsWith 函数:

    /* JCS */
    function startsWith($haystack, $needle)
    {
        $length = strlen($needle);
        return (substr($haystack, 0, $length) === $needle);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-16
      • 2016-08-11
      相关资源
      最近更新 更多