如果域匹配,则设置cookie

时间:2014-07-04 09:01:23

标签: apache .htaccess mod-rewrite redirect cookies

我们有一个网店,比方说,mywebshop.com。对于来自特定国家/地区的用户,比方说德国,我们拥有域mywebshop.de,该域名将重定向为301到mywebshop.com

如果用户导航到mywebshop.de,我怎样才能让我的.htaccess文件在重定向之前设置一个cookie,所以我知道mywebshop.com它是德国客户?只需在导航到mywebshop.de时设置Cookie,而不是导航到mywebshop.com时。

最终,某种类型的参数也可以,但我不知道所请求的网址是否已经有一些查询参数。

1 个答案:

答案 0 :(得分:1)

将此代码放入DOCUMENT_ROOT/.htaccess文件中以设置Cookie并执行重定向:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?mywebshop\.de$ [NC]
RewriteRule ^ http://mywebshop.com%{REQUEST_URI} [R=301,L,NE,CO=REDIR_DE:1:%{HTTP_HOST}]

如果要在重定向时添加查询参数,请使用:

RewriteCond %{HTTP_HOST} ^(www\.)?mywebshop\.de$ [NC]
RewriteRule ^ http://mywebshop.com%{REQUEST_URI}?redir_de=1 [R=301,L,NE]