2015-12-06 131 views
1

我搜索了很多帖子,並嘗試了在httpd.conf中配置它的各種不同方式。apache沒有正確處理子域名虛擬主機窗口

我使用PHP 5.6和MySQL在windows server 2012上運行Apache 2.4。在亞馬遜EC2實例上。我擁有所有正確的安全設置,並且我還在路由S3中正確設置了我的dns以指向我的EC2,爲我的子域創建了一個條目。主域www.mydomain.com工作正常,並指向正確的位置htdocs。但是我的子域名沒有被映射到我定義如下的文件夾:

NameVirtualHost ip.ip.ip.ip:80  

<VirtualHost *:80> 
    ServerName www.mydomain.com 
    ServerAlias mydomain.com 
    DocumentRoot c:/Apache24/htdocs 
    DirectoryIndex index.php index.htm index.html 
</VirtualHost> 

<VirtualHost *:80> 
    DocumentRoot c:/Apache24/htdocs/sub1 
    ServerName sub1.mydomain.com 
    DirectoryIndex index.php index.htm index.html 
    ErrorLog logs/sub1-error.txt 
    CustomLog logs/sub1-access.txt common 
</VirtualHost> 

<VirtualHost *:80> 
    DocumentRoot c:/Apache24/htdocs/phpMyAdmin 
    ServerName phpmyadmin.mydomain.com 
    DirectoryIndex index.php index.htm index.html 
    ErrorLog logs/phpmyadmin-error.txt 
    CustomLog logs/phpmyadmin-access.txt common 
</VirtualHost> 

所有幫助非常感謝。

我也有我的HOSTS這些條目文件

ip.ip.ip.ip mydomain.com 
ip.ip.ip.ip *.mydomain.com 
ip.ip.ip.ip sub1.mydomain.com 
ip.ip.ip.ip phpmyadmin.mydomain.com 

ip.ip.ip.ip是我的服務器的公網IP地址。

回答

0

奇怪的是,我嘗試了@Gillsoft AB的解決方案。當我嘗試重新啓動Apache時,無法重新啓動。然後我回到了我的位置。然後將每個<VirtualHost *:80>更改爲<VirtuHost ip.ip.ip.ip:80>,重新啓動,這沒有奏效。然後我回到最初發布時的樣子,重新啓動。現在它的作品?

0

您可以先閱讀虛擬主機示例中的Apache 2.4 here(在評論部分的結尾部分)中的「使用ServerPath指令」一節。我現在沒有嘗試過,但過去我曾用這個頁面來解決類似的問題。由於它是Apache,我不復制任何內容,因爲它可能在未來幾年在相同的地址...