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

产品页面301重定向最佳方案咨询:为URL添加/product/路径

解决WooCommerce迁移中旧产品URL的301重定向问题

你之前的规则问题出在太宽泛,把所有URL都匹配上了——包括产品图片、后台页面、静态资源这些本来不该重定向的内容,才导致加载异常和URL自动追加/product/的情况。要解决这个问题,必须缩小重定向的匹配范围,只针对旧的产品URL(根目录下的独立产品路径)。

正确的.htaccess重定向规则

RewriteEngine On
RewriteBase /

# 排除不需要重定向的内容,避免影响正常访问
RewriteCond %{REQUEST_FILENAME} !-f          # 排除已存在的文件(图片、CSS、JS等)
RewriteCond %{REQUEST_FILENAME} !-d          # 排除已存在的目录(比如wp-content、wp-admin)
RewriteCond %{REQUEST_URI} !^/(wp-admin|wp-includes|wp-content|login|admin) [NC]  # 排除WordPress后台及核心目录
RewriteCond %{REQUEST_URI} !\.(jpg|jpeg|png|gif|css|js|ico|svg)$ [NC]  # 排除静态资源后缀
RewriteCond %{REQUEST_URI} !^/product/ [NC]  # 排除新的产品路径本身,防止循环重定向

# 仅重定向根目录下的旧产品URL(匹配字母、数字、横线组成的路径)
RewriteRule ^([a-zA-Z0-9-]+)$ /product/$1 [R=301,L,NC]

关键说明

  • 所有RewriteCond条件是同时满足才会触发重定向,确保只有旧的产品URL(比如https://www.mywebsite.com/product-name1或https://www.mywebsite.com/Product-name1)会被处理。
  • 先测试时可以把R=301改成R=302(临时重定向),确认所有旧产品URL都正确跳转到新路径,且图片、后台、其他页面正常后,再改回301(永久重定向)——因为301会被浏览器缓存,改起来麻烦。
  • 如果你的旧产品URL有特殊字符(除了字母、数字、横线),可以调整RewriteRule里的匹配规则,比如把[a-zA-Z0-9-]+改成[^/]+(匹配除了斜杠之外的所有字符)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 07:18:41