保存商品或运行索引时出现store_id与request_path唯一键冲突。直接删除全部URL Rewrite会丢失自定义重定向,应先定位冲突来源。

排查路径

  • 按报错的store_id和request_path查询全部记录,区分系统生成、分类路径、商品路径和自定义重定向。
  • 检查两个商品或分类是否在同一Store生成相同url_key;同时核对URL后缀、分类路径开关和历史重定向。

落地修复

  1. 先修正冲突实体的url_key或Store范围,再只删除可再生成的系统记录;保留is_autogenerated=0的人工重写。
  2. 对目标商品/分类重新生成并清FPC,检查旧地址的301链不能循环。
SELECT url_rewrite_id,entity_type,entity_id,request_path,target_path,redirect_type,is_autogenerated FROM url_rewrite WHERE store_id=:store_id AND request_path=:path;SELECT entity_id,store_id,value FROM catalog_product_entity_varchar WHERE attribute_id=:url_key_attr AND value=:url_key;

完成标准

重复路径只保留一条有效目标,商品与分类保存成功,旧URL跳转一次后到正确新地址。