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

如何将域名路径转换为GET参数?Apache重写规则求助

问题解决方案

你的原有规则完全搞反了方向——你把/en这类路径指向了en.php,但站点根本没有这些文件,只有index.php。正确的思路是把路径里的语言标识传递给index.php的lang参数,以下是修正后的规则:

RewriteEngine ON
# 排除真实存在的文件和目录,避免干扰图片、CSS等静态资源访问
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# 匹配en/de路径,将语言标识传递给index.php的lang参数
RewriteRule ^(en|de)/?$ index.php?lang=$1 [QSA,NC,L]

规则细节说明:

  • ^(en|de)/?$:精准匹配以en或de开头、末尾可选斜杠的路径(比如/en、/de/都能被匹配)
  • index.php?lang=$1:把匹配到的语言标识(en或de)作为lang参数传递给唯一的index.php文件
  • QSA:保留原URL中可能存在的其他查询参数(比如请求/en?foo=bar会被转成index.php?lang=en&foo=bar)
  • NC:不区分大小写,/EN、/De这类写法也能被正常识别
  • L:执行完这条规则后停止后续重写规则,避免不必要的冲突

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 18:35:13