我正在尝试重定向此
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?/).
我该如何清除它?
答案 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]