7

我们遇到了一个问题,我们正在处理的 Magento 商店有不需要的永久重定向,我正在寻找如何从这些重定向方面的空白开始。我们不需要任何东西,因为它是一个开发中的站点,我们也不希望在此域内重定向任何内容。商店没有直播,以下是发生的事情。

我们不知道系统 -> 配置 -> 目录 -> SEO 下的 URL 重写管理选项,因此对于“创建永久重定向...”它被标记为“是”一些产品是通过提要上传的,但它们上传不正确。所以,我们重新上传它们以覆盖。结果是“White Shirt A”在管理员或导出的数据馈送中的 URL 键为“white-shirt-a.html”,但显示该产品的实际链接是“white-shirt-a-1”。 .html。” 如果我们转到“white-shirt-a.html”,它会给我们一个 404 Not Found。

我们如何清除所有这些永久重定向?我们已经尝试在 Catalog -> URL Rewrite Mangement 下禁用或删除这些特定的请求路径和目标路径条目,但它们没有任何效果。

4

3 回答 3

10

如果您的商店尚未上线,请按照以下步骤操作:

  1. 从数据库中清空/截断core_url_rewrite表。

  2. 禁用 Magento 后端的永久重定向。

  3. 重新索引目录 URL 重写,您的所有 URL 将被更正。

于 2012-07-26T16:28:46.453 回答
1

为了删除所有永久重定向,您可以:

1)执行直接查询(不推荐):

DELETE FROM core_url_rewrite WHERE options IS NOT NULL AND is_system = 0

2)更温和地做:

$write = Mage::getSingleton('core/resource')->getConnection('core_write');
try {
    $write->beginTransaction();
    $table = Mage::getSingleton('core/resource')->getTableName('core/url_rewrite');
    $count = $write->exec('DELETE FROM ' . $table . ' WHERE options IS NOT NULL AND is_system = 0');
    $write->commit();
    $this->_getSession()->addSuccess($this->__('Successfully removed %s redirects.', $count));
} catch(Exception $e) {
    $write->rollback();
    $this->_getSession()->addException($this->__("An error occurred while clearing url redirects: %s", $e->getMessage()));            
}

3) 或者您可以安装自定义产品网址扩展,它使您能够从管理面板清除所有永久重定向。

于 2016-02-29T23:16:04.687 回答
0

我不保证这是安全的。但到目前为止,它似乎奏效了。

我已经运行了这个查询:

“删除*从core_url_rewrite哪里is_system!= 1”;

该查询删除了所有自定义重写规则,其中我们有大约 500,000 条。其中大多数是在有人关闭搜索引擎优化中的“.html”扩展名而不将“更改网址时创建重写规则”更改为“否”时创建的。

于 2014-11-25T07:39:35.390 回答