You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

迁移至新域名后WooCommerce产品及分类无法显示求助

站点迁移后WooCommerce未登录用户无法访问产品/分类的解决方案

您好,针对您迁移WordPress站点到新域名后,WooCommerce出现的未登录用户无法查看产品及分类、访问URL被重定向至首页的问题,我整理了几个针对性的排查和解决步骤,您可以逐一尝试:

  • 检查WooCommerce目录可见性设置
    进入后台「WooCommerce > 设置 > 产品 > 常规」,确认「目录可见性」区域是否被误设置为“仅允许登录用户查看商店”。另外,也可以批量检查产品和分类的单独可见性设置——进入产品/分类编辑页,查看「可见性」选项是否被设为“隐藏”或“仅登录可见”。

  • 重置固定链接规则
    WordPress站点迁移后,固定链接规则经常会出现异常。进入后台「设置 > 固定链接」,先选择“朴素”模式并保存,再切换回您原本使用的模式(比如“文章名”)再次保存。这会强制刷新WordPress的重写规则,解决大部分URL重定向问题。

  • 排查Avada主题的WooCommerce权限设置
    Avada主题有专门的WooCommerce集成选项,进入「Avada > 选项 > WooCommerce > 商店页面」,检查「商店访问权限」是否被设置为仅登录用户可见。同时也可以查看Avada的全局权限设置,确认是否限制了未登录用户访问产品类内容。

  • 清理数据库中的旧域名残留
    迁移过程中数据库可能仍残留旧域名的配置,导致重定向异常。您可以通过以下方式处理:

    • 如果使用WP-CLI,执行命令:wp search-replace '旧域名完整地址' '新域名完整地址' --skip-columns=guid(替换实际的旧/新域名,比如https://oldsite.comhttps://newsite.com
    • 如果没有WP-CLI,用phpMyAdmin打开数据库,搜索wp_optionswp_posts表中的旧域名,批量替换为新域名(注意您的数据库表前缀可能不是wp_
  • 重置.htaccess文件并清理缓存
    备份当前的.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
    

    同时清空所有缓存插件(如WP Rocket、W3 Total Cache)的缓存,以及服务器端的缓存。如果您使用了重定向插件,检查是否存在针对产品/分类页面的错误重定向规则。

  • 检查访客角色权限
    进入后台「用户 > 角色」,确认「访客」角色是否拥有“查看产品”的权限。部分插件或主题可能会修改默认权限,您可以使用「User Role Editor」插件来检查并恢复访客角色的默认权限。

  • 排查插件冲突
    暂时禁用除WooCommerce之外的所有插件,然后测试未登录用户是否能正常访问产品。如果问题解决,再逐个启用插件,找到导致冲突的那个插件并进行更新或替换。

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

火山引擎 最新活动