301 htaccess重定向动态网址帮助需要

时间:2011-03-29 11:27:58

标签: .htaccess dynamic redirect url-rewriting

我正在尝试重定向此

hhttp://www.website.net/forum/index.php showtopic = 12345

hhttp://www.website.ORG/forum/t12345

12345 是动态主题ID

如果在主题ID之后找到,我还需要删除任何信息,例如

hhttp://www.website.net/forum/index.php showtopic = 12345&安培;查看= getlastpost

我想要& view = getlastpost 或任何可能出现在ID号码之后的类似内容。

我试过

RewriteCond%{QUERY_STRING} ^(([^&] &))showtopic =([^&] +)&?(。*)?$ RewriteRule ^ index.php $ http://www.website.org/forum/t%3?%1%4/ [L,R = 301]

但它不起作用。我在网址上搞了垃圾。

hhttp://www.website.org/forum/index.php?showtopic=29294&view=getlastpost (when that link is clicked - the result is hhttp://www.website.net/forum/t29294?view=getlastpost/)

hhttp://www.website.org/forum/index.php?showtopic=29029 (when that link is clicked - the result is hhttp://www.website.net/forum/t29029?/).

我该如何清除它?

1 个答案:

答案 0 :(得分:0)

$ 2意味着有两个括号内的区域,但我只在你的规则中看到一个,所以改为$ 1。

此外,您的网址开始/论坛/因此需要在规则中包含该内容。

而且。如果你不希望它被视为正则表达式特殊字符,则需要转义index.php。

如果你想在showtopic = 1234之后抛弃任何东西,那么只需删除表示字符串结尾的$

RewriteRule ^forum/index\.php?showtopic=([0-9]*) http://www.website.org/forum/t$1/ [L,R=301]