.htaccess 替换 url 参数值
.htaccess replace url parameter value
我有一个带有一些参数的 URL。其中一个参数称为 'lang',它看起来像这样:
https://example.com/example1/?id=1&lang=en
我想将所有当前 URL 的 lang=en 重定向到 lang=gb
https://example.com/example1/?id=1&lang=gb
注意: example1
文件夹是一个示例,它不是常量变量。
每个 URL 包含一个不同的文件夹名称。
这可能就是您要找的:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^(?:(.*&)?)lang=en(?:(&.*)?)$
RewriteRule ^ %{REQUEST_URI}?%1lang=gb%2 [R=301]
最好从 R=302
临时 重定向开始,然后再将其更改为 R=301
永久 一旦一切按预期工作,重定向。这样可以防止讨厌的缓存问题。
一般来说,您应该更愿意在实际的 http 服务器的主机配置中实施此类规则。分布式配置文件(“.htaccess”)应该只在没有其他选择的情况下使用。它们有许多缺点。
我有一个带有一些参数的 URL。其中一个参数称为 'lang',它看起来像这样:
https://example.com/example1/?id=1&lang=en
我想将所有当前 URL 的 lang=en 重定向到 lang=gb
https://example.com/example1/?id=1&lang=gb
注意: example1
文件夹是一个示例,它不是常量变量。
每个 URL 包含一个不同的文件夹名称。
这可能就是您要找的:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^(?:(.*&)?)lang=en(?:(&.*)?)$
RewriteRule ^ %{REQUEST_URI}?%1lang=gb%2 [R=301]
最好从 R=302
临时 重定向开始,然后再将其更改为 R=301
永久 一旦一切按预期工作,重定向。这样可以防止讨厌的缓存问题。
一般来说,您应该更愿意在实际的 http 服务器的主机配置中实施此类规则。分布式配置文件(“.htaccess”)应该只在没有其他选择的情况下使用。它们有许多缺点。