页面的永久重定向取决于参数

时间:2013-10-06 16:44:26

标签: regex apache .htaccess mod-rewrite redirect

我想重新审视www.mysite.com/abc/mypage.php?id=123到www.mysite.com/newpage.htm

我在我的.htaccess文件中尝试了这个但是它不起作用。 (我刚拿到404)

RedirectPermanent /abc/mypage\.php\?id=123 /newpage.htm

正确的语法是什么?

2 个答案:

答案 0 :(得分:0)

不能使用Redirect指令匹配QUERY_STRING。您可以改为使用mod_rewrite

RewriteEngine On

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+abc/mypage\.php\?id=123[&s] [NC]
RewriteRule ^ /newpage.htm? [R=302,L]

答案 1 :(得分:0)

试试这个:

# do this once per htaccess
RewriteEngine on

RewriteCond %{QUERY_STRING} ^id=123$
# to redirect permanently
RewriteRule ^/?abc/mypage\.php$ /newpage.htm [R=301,L]

请记住,[R=302]标志用于临时重定向。