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

修改站点至www域名后,Polylang切换语言出现500错误未解决

解决Polylang切换语言500错误(域名从example.com改为www.example.com后)

遇到这种域名变更后Polylang切换语言报500的情况,多半是配置残留、重定向冲突或者缓存问题导致的,我给你梳理几个实战有效的排查和解决步骤:

  • 检查服务器重定向规则
    域名加www后,服务器的重定向规则如果配置不当,很容易和Polylang的语言路由冲突。

    • 如果你用Apache,打开根目录的.htaccess文件,确保www重定向规则放在WordPress固定链接规则之前,示例如下:
      RewriteEngine On
      # 先处理www重定向
      RewriteCond %{HTTP_HOST} ^example.com [NC]
      RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
      
      # WordPress默认固定链接规则
      RewriteBase /
      RewriteRule ^index\.php$ - [L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]
      
    • 如果你用Nginx,修改站点的server配置,确保旧域名(example.com)重定向到带www的域名,示例:
      server {
          listen 80;
          server_name example.com;
          return 301 http://www.example.com$request_uri;
      }
      
      server {
          listen 80;
          server_name www.example.com;
          # 其他WordPress相关配置(比如root、fastcgi_pass等)
      }
      
  • 清理全站及Polylang缓存
    缓存是最容易被忽略的点,旧域名的路由缓存会导致语言切换时出错:

    • 进入Polylang设置页面,找到并点击“清除缓存”选项(通常在“语言”设置的底部);
    • 如果你用了第三方缓存插件(比如WP Rocket、W3 Total Cache),清空所有缓存;
    • 最后别忘了清空浏览器缓存,或者用无痕模式测试。
  • 替换数据库中的旧URL残留
    即使你在WP后台和Polylang里改了域名,数据库中很多地方可能还存着http://example.com的旧链接,这会导致路由异常:

    • 推荐用WP-CLI命令替换(安全高效):
      wp search-replace 'http://example.com' 'http://www.example.com' --skip-columns=guid
      
      注意--skip-columns=guid参数,避免修改RSS的唯一标识;
    • 如果没有WP-CLI,可以用Better Search Replace插件操作,一定要先备份数据库再执行替换!
  • 重新核对Polylang语言配置
    进入Polylang的“语言”设置页面,逐个检查每个语言的“域名/URL前缀”配置,确保已经更新为带www的格式(比如http://www.example.com/en),保存设置后再测试语言切换。

  • 查看服务器错误日志定位具体原因
    500错误是服务器端的通用错误,查看错误日志能直接找到问题根源:

    • Apache的错误日志一般在/var/log/apache2/error.log;
    • Nginx的错误日志一般在/var/log/nginx/error.log;
      比如如果日志里显示“重定向循环”,那就是重定向规则和Polylang路由冲突了,调整规则顺序即可;如果是PHP致命错误,可能需要检查Polylang版本和WordPress版本的兼容性。
  • 排查插件冲突
    部分安全插件、SEO插件的重定向规则可能和Polylang冲突:
    暂时禁用所有非Polylang的插件,测试语言切换是否正常。如果恢复正常,再逐个启用插件,找到冲突的那个,调整它的配置(比如关闭不必要的重定向规则)。

按照这些步骤一步步排查,基本能解决这个500错误问题,记得每做完一步都测试一下语言切换功能哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:22:39