Magento 热门搜索结果 - 在管理中设置重定向时如何让他们执行 301 重定向
看起来我发现了 magento 流行搜索结果中遇到的一个问题,但我正疯狂地试图让它们正确重定向。
好的,情况是这样的。我不介意 Magento 在 SE 索引中的流行搜索结果查询。很多时候,客户输入一些有助于搜索的内容。我的问题是,当客户在搜索栏中输入与类别或产品完全相同的术语时。这会产生重复的内容问题,因此我在 Magento 管理中重定向这些查询术语。
然而,这些重定向是 302 临时重定向,而实际上应该是 301。
我在 Mage > 中找到了一个文件。目录搜索>控制器> ResultController.php 在第 65 行有以下代码
if ($query->getRedirect()){
$query->save();
$this->getResponse()->setRedirect($query->getRedirect());
return;
}
我认为这里的某个地方应该有一个 ->setHttpResponseCode(301)
但到目前为止,我无法在任何地方获得 301 重定向响应。
我当然可以在 htaccess 中执行此操作,但如果以编程方式设置会容易得多。
It LOOKS like I tracked down an issue I'm having with magento popular search results, but I'm going nuts trying to get them to redirect properly.
OK, here's the situation. I don't mind Magento's popular search results queries in the SE's index. Alot of times, the customer inputs something that can be helpful for search. My problem is when a customer types into the search bar the exact same terms as a category or products. This creates duplicate content issues, so I redirect these query terms in the Magento Admin.
However, these redirects are 302 temporary redirects, when they really should be 301.
I tracked down a file in Mage > CatalogSearch > controllers > ResultController.php that has the following code on line 65
if ($query->getRedirect()){
$query->save();
$this->getResponse()->setRedirect($query->getRedirect());
return;
}
I think that somewhere here, there should be a
->setHttpResponseCode(301)
But so far, I can't get a 301 redirect response anywhere.
I can certainly do this in htaccess, but it would be a lot easier if set programmatically.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您确定确实正在输入
if
块,那么这个应该可以工作:我假设
$this->getResponse()
包含一个Mage_Core_Controller_Response_Http实例。请参阅其超类方法
Zend_Controller_Response_Abstract::setRedirect()
。编辑:
如果您想使用后端定义永久重定向,请转到
目录 -> URL重写管理->编辑 URL 重写 ->重定向->永久(301)。
If you are sure, that the
if
block really is being entered, this one should work:I assume that
$this->getResponse()
contains anMage_Core_Controller_Response_Http
instance. See its superclass methodZend_Controller_Response_Abstract::setRedirect()
.EDIT:
If you want to define permanent redirects using the backend, goto
Catalog -> URL Rewrite Management -> Edit URL Rewrite -> Redirect -> Permanent (301)
.