0

i want to redirect only this url http://domain.com/?eID=dd_googlesitemap

to http://domain.com/test.html

my rule is

RewriteRule http://domain.com/?eID=dd_googlesitemap http://domain.com/test.html [R=301,L]

but it doesnt work. I dont get it. Any ideas whats wrong?

. . . . . . . . . . . . . . . . . . . . . . . . . . .

4

1 回答 1

1

您遇到的问题是查询字符串和域与 RewriteRule 不匹配。相反,您需要在规则之前将这些指定为条件,使用RewriteCond

RewriteCond %{HTTP_HOST} ^domain\.com$
RewriteCond %{QUERY_STRING} ^eID=dd_googlesitemap$
RewriteRule ^$ http://domain.com/test.html? [R=301,L]

如果您没有[flags]在 RewriteCond 上指定任何内容,那么它们是 AND'd,所以这里请求的 URL(HTTP_HOST)的域部分必须是“domain.com”...“www.domain.com”不会被匹配。此外,如果查询字符串中存在任何其他选项,它将不匹配。

最后,我们将一个完全空的请求(没有额外的路径等)重写为新的 URL。添加?到 URL 的末尾会停止添加查询字符串。

于 2013-07-24T16:08:00.767 回答