2012-01-10 57 views
0

我换了论坛平台,我想用301重定向将请求重定向到成员配置文件。htaccess 301论坛配置文件链接的重定向规则

老平台路径用户配置文件是:www.example.com/forum/member.php?u=XXXXXX 新平台路径用户配置文件是:www.example.com/user/XXXXXX

交换机中的用户ID保持不变。

我试图通过编写以下重写规则来实现:

RewriteRule ^forum/member.php?u=(.*)$ http://www.example.com/user/$1 [R=301,L] 

不幸的是,它不工作由于某种原因,我想不通为什么。任何帮助将不胜感激!

感谢, 克里斯

回答

1

你不能从一个RewriteRule指令访问的查询字符串。

请尝试以下内容。

#if the query string has a u parameter 
RewriteCond %{QUERY_STRING} (^|&)u=([^&]+) [NC} 
RewriteRule ^forum/member.php$ http://www.example.com/user/%2 [R=301,L] 
+0

为了完成工作,谢谢!但是,它最后会留下这个字符串:'/ user/1?u = 1',它只应该是'/ user/1'。任何想法如何解决? NM。 – 2012-01-10 22:55:43

+0

NM。添加?标记到最后'...%2?'删除剩余的查询。甜! – 2012-01-10 23:12:00