Magento热门搜索结果 - 在Admin中设置重定向时如何让他们进行301重定向

时间:2011-05-09 12:01:10

标签: magento mage

看起来我跟踪了一个我正在使用magento热门搜索结果的问题,但我很难尝试让它们正确地重定向。

好的,这是情况。我不介意Magento在SE索引中的热门搜索结果查询。很多时候,客户输入的东西可以帮助搜索。我的问题是当客户在搜索栏中输入与类别或产品完全相同的条款时。这会产生重复的内容问题,因此我会在Magento Admin中重定向这些查询字词。

然而,这些重定向是302临时重定向,当它们真的应该是301时。

我在Mage>中追踪了一个文件CatalogSearch>控制器> ResultController.php在第65行上有以下代码

if ($query->getRedirect()){
                $query->save();
                $this->getResponse()->setRedirect($query->getRedirect());                    
                return;
            } 

我认为在某处,应该有一个 - > setHttpResponseCode(301)

但到目前为止,我无法在任何地方获得301重定向响应。

我当然可以在htaccess中执行此操作,但如果以编程方式设置则会更容易。

1 个答案:

答案 0 :(得分:1)

如果你确定,确实输入了if块,那么这个块应该可以工作:

if ($query->getRedirect()){
    $query->save();
    $this->getResponse()->setRedirect($query->getRedirect(), 301);                    
    return;
}

我假设$this->getResponse()包含Mage_Core_Controller_Response_Http个实例。请参阅其超类方法Zend_Controller_Response_Abstract::setRedirect()

修改

如果要使用后端定义永久重定向,请转到Catalog -> URL Rewrite Management -> Edit URL Rewrite -> Redirect -> Permanent (301)