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

WordPress多语言页面URL重写配置问题:带语言前缀路径如何指向原页面

WordPress多语言站点URL前缀重写解决方案

现有配置错误点

你当前的RewriteRule存在两处核心错误:

  • 捕获组引用错误:规则中第一个捕获组$1匹配的是en/hn/ta语言标识,你需要取第二个捕获组$2才是路径部分
  • 标志使用错误:P(代理转发)标志完全不必要,会额外增加服务器开销,甚至可能触发权限限制

修正后的完整.htaccess配置

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]

# 多语言前缀内部重写规则
RewriteRule ^(en|hn|ta)/(.*)$ /$2 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

规则说明

  • 内部重写不会改变地址栏URL,用户访问http://website-url/en/home时地址栏保持不变,实际返回的是http://website-url/home的内容,完全匹配你的需求
  • QSA标志会保留原URL携带的查询参数,比如/en/home?uid=123会正确重写到/home?uid=123
  • 规则放在WordPress默认伪静态规则之前,确保语言前缀先被处理,再进入WordPress的路由逻辑

注意事项

  • 修改配置后请用浏览器无痕模式测试,避免本地缓存干扰结果
  • 如果后续需要实现不同前缀对应不同语言的内容,可直接使用Polylang、WPML等WordPress多语言插件,插件会自动处理URL重写逻辑,无需手动修改.htaccess

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 20:54:08