htaccess 规则使用 Cloudflare 地理定位将国家/地区参数添加到 URL
htaccess rule to add country parameter to URL with Cloudflare geolocation
我在编码工作中广泛使用了 Whosebug,感谢大家提供这样的知识源泉。
我想实施 mod_rewrite/htaccess 规则,将访问者的国家/地区作为参数添加到 any URL, if 国家和AT不一样。地理定位是通过 Cloudflare 完成的。
赞:来自中国的访客访问https://www.example.com/blabla => https://www.example.com/blabla?country=CH
我不太精通 htaccess 重写并最终导致无限循环/服务器错误。
我相信我缺少正确的 RewriteRule 部分。这是我的代码:
SetEnvIf CF-IPCountry "(.*)$" Country=
RewriteCond %{ENV:Country} !AT
RewriteRule ^(.*)$ ?country=%{ENV:Country} [R,L,QSA]
如有任何帮助,我们将不胜感激。
感谢您为我指明正确的方向。
对于面临同样问题的任何人,解决方案是:
SetEnvIf CF-IPCountry "(.*)$" Country=
RewriteCond %{ENV:Country} !AT
RewriteCond %{QUERY_STRING} !country
RewriteRule ^(.*)$ ?country=int [R=308,L,QSA]
我没有找到附加 特定 国家代码的方法,因为我无法在 "RewriteRule" 中引用 ENV:Country 但 "int" 所有非 AT 对我来说都很好。
我在编码工作中广泛使用了 Whosebug,感谢大家提供这样的知识源泉。
我想实施 mod_rewrite/htaccess 规则,将访问者的国家/地区作为参数添加到 any URL, if 国家和AT不一样。地理定位是通过 Cloudflare 完成的。
赞:来自中国的访客访问https://www.example.com/blabla => https://www.example.com/blabla?country=CH
我不太精通 htaccess 重写并最终导致无限循环/服务器错误。 我相信我缺少正确的 RewriteRule 部分。这是我的代码:
SetEnvIf CF-IPCountry "(.*)$" Country=
RewriteCond %{ENV:Country} !AT
RewriteRule ^(.*)$ ?country=%{ENV:Country} [R,L,QSA]
如有任何帮助,我们将不胜感激。
感谢您为我指明正确的方向。 对于面临同样问题的任何人,解决方案是:
SetEnvIf CF-IPCountry "(.*)$" Country=
RewriteCond %{ENV:Country} !AT
RewriteCond %{QUERY_STRING} !country
RewriteRule ^(.*)$ ?country=int [R=308,L,QSA]
我没有找到附加 特定 国家代码的方法,因为我无法在 "RewriteRule" 中引用 ENV:Country 但 "int" 所有非 AT 对我来说都很好。