0

如果他们在 URL 中没有区域设置,我想将用户重定向到通用注册页面,如果他们带有区域设置,我想重定向到特定注册页面。由于某种原因,以下不起作用,让我知道如何解决:

RewriteCond %{QUERY_STRING} source=actp
RewriteRule ^/(en|de|fr|zh|ja|jp|ko|kr)/web/login/registration $1/web/login/registration? [R=301,L]

RewriteCond %{QUERY_STRING} source=actp
RewriteRule /web/login/registration /web/login/registration? [R=301,L]

例子:

Before: website.com/web/login/registration
after: website.com/web/login/registration?source=actp 
before: website.com/kr/web/login/registration 
after: website.com/kr/web/login/registration?source=actp
4

1 回答 1

0

根据您之前/之后的 URL,您在这里使用了错误的 RewriteCond。source=actp在评估 RewriteRule 之前,它会期望查询字符串匹配。由于您之前的 URL 没有这样的查询字符串,因此 RewriteRule 甚至不会被评估。你根本不需要 RewriteCond 。

尝试这个:

RewriteRule ^/?((en|de|fr|zh|ja|jp|ko|kr)/)?web/login/registration$ /$2web/login/registration?source=actp [R=301,L]
于 2012-11-21T20:49:14.727 回答