2009-09-12 168 views
2

我正在重新工作一個網站,我試圖將論壇從子域名(board.example.com)移動到主域名,路徑將爲example.com/index .PHP /論壇/htaccess從子域重定向到域

我建立了我的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 = 4daeb5a cf7983a0f8d56737c4812f474

有什麼方法可以清除附加到新URL末尾的位?

回答

1

我不知道您的SID參數是來自......

的方式,我可能會嘗試先(訴諸mod_rewrite的前)將是:

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

謝謝你,蒂姆。 sid參數來自phpbb附加到URL的任何古怪內容。我可能沒有正確設置電路板,當谷歌索引時,它可能被指定爲sid。 我嘗試了你的建議,它似乎不起作用(它會導致500錯誤。) – pfulton 2009-09-12 22:19:59

+0

剛編輯我的回覆,在永久後添加「/」 - 但現在我發現問題是「 sid =「東西卡在搜索引用中,我可以告訴你我的回答不起作用。 所以回到mod_rewrite。你可以嘗試捕捉各種東西(包括sid部分),然後重建一個沒有sid的URL。 類似於(非常粗略地說,您*將*需要修復此問題): RewriteRule ^(。*)sid =([^&] *)(。*)http://www.example.com/index。 php/forum/$ 1 $ 2 – timdev 2009-09-13 01:06:17

+0

謝謝,我會給它一個!我很感激幫助。 – pfulton 2009-09-13 12:17:59