2012-05-30 24 views
0

我想知道是否可以從子域創建別名,比如http://sub.domain.com,到http://domain.com/some-article。當用戶在地址欄中sub.domain.com,他應該看到的文章(在地址欄的地址應該是相同的子域,所以我想改它不是我所需要)。有任何想法嗎?從子域到域的Apache別名文章

您的幫助,將不勝感激。

+0

AFAIK這是通過DNS進行,而不是Web服務器(如果有人知道我錯了隨時糾正我)。也可能應該對serverfault張貼,沒有計算器。 – taz

+0

是的,這就是所謂的[URL重寫(http://httpd.apache.org/docs/2.0/misc/rewriteguide.html)。 –

回答

0

Apache的ServerAlias只包括主機名,而不是一個完全合格的URI。

在上面的例子中,你應該使用mod_rewrite,確保省略R標誌,因爲你不想重定向,即在響應中提供30X狀態碼。

所以在上面的例子中,你可以有以下

<VirtualHost *:80> 
... 
ServerName domain.com 
ServerAlias sub.domain.com 

RewriteCond %{HTTP_HOST} ^domain.com$ 
RewriteCond %{REQUEST_URI} ^$ 
RewriteRule ^$ /some-article [L] 

RewriteCond %{HTTP_HOST} ^sub.domain.com$ 
RewriteRule ^(.*) http:/domain.com/some-article$1 [L] 
... 
</VirtualHost>