2011-04-22 40 views
1

我正嘗試在ubuntu 10.04筆記本電腦上用apache2設置WordPress多站點。如何在ubuntu機器上設置子域

對於普通的WordPress安裝,在/ etc/hosts文件中創建一個條目,並在/ etc/apace2/sites-available目錄中創建虛擬主機條目,然後將其鏈接到啓用了站點的目錄。

例如:

NameVirtualHost *:80 
<VirtualHost *:80> 
     ServerAdmin [email protected] 
     ServerName mysite.com 
     #We want to be able to access the web site using www.dev.example.com or dev.example.com 
     ServerAlias mysite.com 
     DocumentRoot /home/myhome/Sites/public_html/mysite.com 
     #if using awstats 
     ScriptAlias /awstats/ /usr/lib/cgi-bin/ 
     #we want specific log file for this server 
     CustomLog /var/log/apache2/example.com-access.log combined 
</VirtualHost> 

但這種方法不能與子領域的工作。 我必須更改什麼,以便所有子域也指向我的安裝? 我提前感謝你。

回答

2

看看虛擬主機條目,應該有類似於一個下面的屬性:

服務器名是www.domain.tld

ServerAlias使用domain.tld * .domain.tld

那應該照顧子域

+0

感謝您的回覆。我曾嘗試過。我沒工作。也許我有一個語法錯誤?請看看:http://pastebin.com/Qc9pbJ5Z – ryy705 2011-04-22 23:41:58

+0

如果還沒有工作,請嘗試使用Apache重寫引擎: - – Ajoy 2011-04-23 21:53:20

+0

RewriteEngine on RewriteCond%{HTTP_HOST}!^ www。* [NC] RewriteCond%{HTTP_HOST} ^([^ \。] +)\。domain \ .com RewriteCond /var/www/vhosts/domain.com/httpdocs/%1 -d RewriteRule ^(。*)/%1/$ 1 [L] – Ajoy 2011-04-23 21:53:56

0

您是否嘗試過檢查整個httpd.conf語法? 「apachectl confitest」。

你試過重新啓動Apache嗎? 「sudo apachectl restart」。

你有沒有試過檢查子域是否真的指向你的服務器的IP? - ping domain.com - ping subdomain.domain.com

檢查IP的。如果它們不同,那麼你必須更新你的子域DNS配置。

如果這樣做沒有幫助,如果您能夠告訴我們進入子域時究竟發生了什麼,這將會很有幫助。你預計會得到不同的產出嗎?它甚至沒有連接?