htaccess重定向查询字符串并丢弃

时间:2009-11-20 18:22:38

标签: .htaccess

无法重定向动态网址。这就是我想要实现的目标:

Redirect 301 /content/index.php?id=423 http://www.domain.com/new-page/

我试过这个

RewriteCond %{QUERY_STRING} ^(([^&]*&)*)id=423$
RewriteRule ^content/index\.php$ http://www.domain.com/new-page [L,R=301]

但没有运气。谢谢! PS / 我失去了一些段落 使用此代码

RewriteRule ^([^.]+)/([A-Za-z]*)-([^.]+)-([0-9]+).html$ $1/$4-$2-$3.html [L,R=301]

1 个答案:

答案 0 :(得分:4)

您需要在替换网址中指定查询。否则,将采用原始查询:

RewriteCond %{QUERY_STRING} ^id=423$
RewriteRule ^content/index\.php$ http://example.com/new-page? [L,R=301]

如果您想保留其他网址参数,请尝试以下方法:

RewriteCond %{QUERY_STRING} ^(([^&]*&)*)id=423&*([^&].*)?$
RewriteRule ^content/index\.php$ http://example.com/new-page?%1%3 [L,R=301]