如何根据 cookie 从 .htaccess 添加到我的 URL

How do I add to my URL from .htaccess based on cookie

我有一个网站正在根据用户的 geoIP 创建 cookie,因此该位置始终是 URL 的一部分,例如 example.com/dc-metro/fly-a-kite。当用户访问 example.com/fly-a-kite 并将正确的位置插入 URL 时,我遇到了问题。这是我的 .htaccess 文件中的内容:

RewriteCond %{HTTP_COOKIE} market=([dc-metro]) [NC]
RewriteRule ^fly-a-kite(.*)$ /dc-metro/fly-a-kite [L,R=301]

RewriteCond %{HTTP_COOKIE} market=([chicago]) [NC]
RewriteRule ^fly-a-kite(.*)$ /chicago/fly-a-kite [L,R=301]

我正在使用 MODX,我认为这不会有什么不同,我遇到的问题是,当我尝试直接转到 example.com/fly-a-kite 时,它插入了不同的位置,而不是我应该插入的位置已保存 cookie。

感谢您提供的任何帮助。

我昨晚找到了一个可行的解决方案,不确定它是否是最佳答案,但它对我有用。我没有使用 ([name]) 作为 cookie 值,而是去掉了 ([ ]) 所以我的 htaccess 看起来像:

RewriteCond %{HTTP_COOKIE} market=dc-metro [NC]
RewriteRule ^fly-a-kite(.*)$ /dc-metro/fly-a-kite [L,R=301]

RewriteCond %{HTTP_COOKIE} market=chicago [NC]
RewriteRule ^fly-a-kite(.*)$ /chicago/fly-a-kite [L,R=301]