You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Magento站点如何仅删除URL结构中的子分类路径段

Magento移除URL中子分类段的可行实现方案

方案1:后台原生配置调整(优先推荐,无需改代码)

  • 登录Magento后台,依次进入 商店 > 配置 > 目录 > 目录 > 搜索引擎优化 路径
  • 找到 “分类URL后缀” 和 “产品URL后缀” 配置项,先确认当前设置和你的需求匹配
  • 找到 “为类别URL使用父类别路径” 选项,将值设置为 否
  • 保存配置后,进入 系统 > 缓存管理,清空全部缓存
  • 进入 营销 > SEO和搜索 > URL重写,批量重新生成分类、产品的URL(如果是Magento2.4+版本可以直接用命令行 bin/magento catalog:url:rewrites:regenerate 批量生成,避免后台操作超时)

注意:该方案只会对新生成的URL生效,原有已经生成的URL重写条目需要手动删除后再重新生成才会更新

方案2:自定义URL重写规则(适用于少量页面调整需求)

  • 进入后台 营销 > SEO和搜索 > URL重写,点击添加重写按钮
  • 重写类型选择 “自定义”,请求路径填写原路径 parent-category/sub-category/page,目标路径填写调整后的路径 parent-category/page,重写类型选301永久重定向(对SEO友好)
  • 保存后清空缓存即可立即生效

该方案适合页面数量少的场景,页面量级超过100的话不推荐手动操作,容易出错

方案3:服务器层面重定向(无需修改Magento内核配置)

如果使用Nginx服务,在站点配置文件里添加如下规则:

rewrite ^/([^/]+)/[^/]+/([^/]+)$ /$1/$2 permanent;

如果使用Apache服务,在站点根目录的.htaccess文件里添加如下规则:

RewriteRule ^([^/]+)/[^/]+/([^/]+)$ /$1/$2 [R=301,L]

该方案优先级最高,修改后重启对应服务器即可生效,不会改动Magento内核的URL生成逻辑

方案4:自定义插件改写URL生成逻辑(适合有二次开发能力的场景)

可以通过自定义插件重写Magento\Catalog\Model\Product\Url类的getUrl()方法,或者监听catalog_product_url_rewrite生成前后的钩子,在生成URL的时候自动去掉子分类的路径段,调整后重新生成全站的URL重写即可适配全量页面。

该方案可以从根源调整URL生成逻辑,后续新增的产品、分类也会自动适配规则,无需重复操作

内容的提问来源于stack exchange,提问作者suhanshukla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 03:54:02