Apache htaccess从子域重定向到域

Apache htaccess从子域重定向到域,apache,.htaccess,redirect,subdomain,http-status-code-301,Apache,.htaccess,Redirect,Subdomain,Http Status Code 301,我正在处理一个站点,我正在尝试将论坛从子域(board.example.com)移动到主域,路径为example.com/index.php/forums/ 我已将htaccess文件设置为: RewriteEngine On RewriteCond %{HTTP_HOST} ^(.*).example.com RewriteRule ^(.*)$ http://www.example.com/index.php/forums/ [R=301,L] 这是可行的,但是对于所有已经被搜索引

我正在处理一个站点,我正在尝试将论坛从子域(board.example.com)移动到主域,路径为example.com/index.php/forums/

我已将htaccess文件设置为:

RewriteEngine On  
RewriteCond %{HTTP_HOST} ^(.*).example.com  
RewriteRule ^(.*)$ http://www.example.com/index.php/forums/ [R=301,L]
这是可行的,但是对于所有已经被搜索引擎编入索引的内容,新的URL显示为旧的引用,如

example.com/index.php/forums/?p=1199&sid=4daeb5acf7983a0f8d56737c4812f474


有没有办法清除附加到新URL末尾的位?

我不确定sid参数的来源

我可能会首先尝试(在使用mod_重写之前)的方法是:

<VirtualHost *>
  ServerName board.example.com
  Redirect permanent / http://www.example.com/index.php/forums/
</VirtualHost>

ServerName board.example.com
重定向永久/http://www.example.com/index.php/forums/

谢谢你,蒂姆。sid参数来自古怪的phpbb附加到URL的任何内容。我可能没有让董事会设置100%正确,当谷歌索引,它可能被分配了一个sid。我尝试了你的建议,但它似乎不起作用(它会导致500个错误)。只是编辑了我的回答,在永久之后添加“/”——但现在我发现问题是“sid=”stuff被困在搜索标记中,我可以告诉你,我的回答不起作用。那么回到mod_重写。您可以尝试捕获各种内容(包括sid部分),然后重建一个无sid的URL。类似于(非常粗略地说,您需要修复此问题):RewriteRule^(.*)sid=([^&]*)(.*)谢谢,我会尝试一下!我感谢你的帮助。