看起来我跟踪了一个我正在使用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中执行此操作,但如果以编程方式设置则会更容易。
答案 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)
。