如何设置具有'?'的URL的301重定向喜欢URL中的字符?

时间:2012-08-21 11:05:00

标签: .htaccess redirect http-status-code-301 http-redirect

我想在id之后重定向所有'emailthisone?'的网址。

forexampleL:

http://news4u.com/emailmeone?id=1234'。访问此网址时,必须将其重定向到http;//news4u.com/new/emailmeone?id=1234

我试图设置RedirectMatch 301 /emailmeone?(.*) http://news4u.com/new/emailmeone$1但即使'?'也会这样做是在'emailmeone'之后。

如何实现它。

由于

1 个答案:

答案 0 :(得分:0)

如果您使用RedirectRedirectMatch,虽然查询字符串会自动附加,但不会检查查询字符串是否实际为id=something

RedirectMatch 301 ^/emailmeone$ /new/emailmeone

?id=1234会自动附加到目标的末尾。如果你使用mod_rewrite:

,你可以审查id
RewriteEngine On
RewriteCond %{QUERY_STRING} ^id=[0-9]
RewriteRule ^emailmeone$ /new/emailmeone [L,QSA]