2015-09-20 105 views
2

我正在主持論壇,最近決定將其移到子域。使用.htaccess將URL重定向到子域

因此,我將所有的論壇文件都移到var/www/forum,我可以通過這個目錄訪問論壇,即example.net/forum

我也在我的apache虛擬主機中設置了子域,所以如果我去forum.example.net它會顯示論壇給我,這也很好。

我現在需要做的就是設置一個.htaccess來將使用目錄URL example.net/forum的人重定向到forum.example.net

This answer讓我接近,但不完全在那裏,因爲它會不斷重定向我。

理想情況下,我也想通過他們的請求,例如example.net/forum/viewtopic.php?example被重定向到forum.example.net/viewtopic.php?example

在我的答案中,mod-rewrite可能會工作,但我不太清楚如何實現它。

任何幫助,將不勝感激。

回答

1

裏面/forum/.htaccess您可以使用此規則爲你的第一條規則

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^(?:www\.)?(example\.net)$ [NC] 
RewriteRule ^(.*)$ http://forum.%1/$1 [R=301,L,NE] 
+0

這對我不起作用。這是''.htaccess'文件中的唯一規則,它位於'/ var/www/forum /'中。我已經做了一次硬刷新,但是如果我去example.net/forum/viewtopic.php?f=2&t=436它不重定向我。 – James

+0

好吧,它現在重定向我,但只是'http://forum./viewtopic.php?f = 2&t = 436' – James

+1

現在完美了,謝謝! – James

0
RewriteEngine On 
RewriteCond "%{HTTP_HOST}" "^www.example.net$" [OR] 
RewriteCond "%{HTTP_HOST}" "^example.net$" 
RewriteRule ^/?forum/(.*)$ http://forum.example.net/$1 [R=301] 
+0

這並沒有爲我工作。自從我添加它以來沒有任何變化。我正確地認爲我添加的.htaccess文件是論壇目錄中的文件。 – James