带有查询的多个网址的RedirectMatch

时间:2016-01-07 22:25:24

标签: .htaccess rewrite url-redirection query-parameters

我有一堆网址:

url.com/internet-class-detail?schedid=521
url.com/internet-class-detail?schedid=523
url.com/internet-class-detail?schedid=525
url.com/internet-class-detail?schedid=545

我正在尝试重定向到:

url.com/internet-training

我在htaccess中尝试过这个规则,但是查询字符串会在重定向结束时继续打印:

RedirectMatch 301 ^/internet-class-detail.*$ http://url.com/internet-training/

例如,去:     http://www.url.com/internet-class-details/?schedid=521

将您重定向到:     http://url.com/internet-training/?schedid=521

但我只想将其重定向到:     http://url.com/internet-training/

1 个答案:

答案 0 :(得分:0)

您无法与RedirectMatch指令中的查询字符串进行匹配,以匹配您需要使用Mod_rewrite的查询字符串。

在htaccess中尝试以下内容:

RewriteEngine on

RewriteCond %{THE_REQUEST} /internet-class-detail\?schedid=([0-9]+) [NC]
RewriteRule ^ http://domain.com/internet-training/? [L,R]

目标网址末尾的空白问题非常重要,因为它会丢弃原始查询字符串。