Woocommerce未发布产品预览出现too many redirects错误如何解决
WooCommerce草稿产品预览「too many redirects」错误修复方案
1. 校验产品预览权限规则异常
仅草稿状态触发重定向、发布后正常,大概率是WooCommerce默认的未发布产品访问权限规则出现逻辑冲突,可先通过临时代码验证:
- 将下方代码添加到当前激活主题的
functions.php文件中保存
// 临时放开草稿产品预览权限,验证完成后可删除 add_filter( 'woocommerce_register_post_type_product', function( $args ) { $args['capabilities']['read_post'] = 'read_private_posts'; return $args; });
- 新建产品草稿点击预览,若不再触发重定向说明是权限规则异常导致,后续可替换为正式的权限适配代码,同时排查是否有历史添加的自定义权限代码失效。
2. 排查固定链接前缀冲突
如果自定义的产品固定链接前缀和普通文章分类、页面别名重名,草稿状态下WordPress路由匹配会出现误判触发循环重定向:
- 进入后台「设置」→「固定链接」→「产品固定链接」,临时选择「朴素」格式保存后测试草稿预览
- 若预览恢复正常,重新设置一个和其他内容类型不重复的产品自定义前缀即可,避免和文章分类、标签、页面别名重名。
3. 清理.htaccess冗余规则
旧缓存插件、SSL配置残留的重定向规则可能只针对非公开的草稿链接触发冲突:
- 先备份站点根目录的
.htaccess文件,再替换为WordPress默认规则:
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
- 替换后测试草稿预览,若恢复正常说明是原有冗余规则导致,后续逐步添加需要的自定义规则即可。
4. 验证自定义WooCommerce模板冲突
如果之前修改过主题内的WooCommerce产品模板,模板内的已发布产品状态判断逻辑可能触发草稿跳转:
- 临时将主题目录下的
woocommerce文件夹重命名为woocommerce_bak,调用WooCommerce默认模板测试预览 - 若恢复正常,逐一排查自定义模板内的状态判断、跳转相关代码即可。
内容的提问来源于stack exchange,提问作者SterilEldiven
相关产品推荐
相关产品推荐

