1

寻找一些关于 mod 重写条件/规则组合的帮助,它可以实现以下目标:

如果 TLD 是 .fr 并且 lang=fr 不是当前参数。

  • 如果没有当前参数,请在内部将 ?lang=fr 添加到请求中。
  • 如果当前有参数,请在内部将 &lang=fr 添加到请求中。

目前我可以正确检测 TLD,但无法添加“逻辑”来确定如何处理查询字符串参数的修改。我需要能够通过 5 或 6 个可能的 TLD 执行此操作。

任何帮助将非常感激。

4

1 回答 1

0

这应该有效:

RewriteEngine on
RewriteCond %{HTTP_HOST} \.([^\.]*?)$
RewriteCond %{QUERY_STRING} !lang
RewriteRule ^ %{REQUEST_URI}?lang=%1

第一行解析顶级域并将其存储在 %1 中。
第二行检查是否已经设置了任何语言,如果没有
在(第三行)添加到请求 url 的语言参数中。

于 2012-10-28T11:22:47.890 回答