Apache泛域名解析

<VirtualHost *:80>
    DocumentRoot "E:\work\phpStudy\WWW\ncpx\web"
    ServerName ncpxceshi2.com        ###主機名
    ServerAlias *.ncpxceshi2.com       ###範解析
  <Directory "/">
      Options FollowSymLinks ExecCGI
      AllowOverride All
      Order allow,deny
      Allow from all
      Require all granted
  </Directory>
</VirtualHost>php

dns解析的時候能夠添加 a.ncpxceshi2.com  c.ncpxceshi2.com  等等二級域名html

用途:僞靜態的時候重寫域名 好比sport.shop.com進入的運動頁面 book.shop.com進入的是圖書頁面web

 

==============================================================================apache

 

需求:  在apache上配置兩個項目,分別是項目a和項目b,a.baiye5.com訪問項目a,其他的除了a前綴名以外的例如b2b.baiye5.com 、*.baiye5.com等都訪問項目b。 

首先在conf/httpd.conf中添加 NameVirtualHost *:80 


在apache的目錄conf下新建一個文件夾mysiteconf,而後再建立一個配置文件,如baiye5.com.conf,打開文件先配置a.baiye5.com的項目a,而後配置項目b,由於apache會按照順序來執行這兩個虛擬機的配置,若是先配置了項目b,那麼項目a就沒法訪問了,假如a.baiye5.com,先執行上面的虛擬機配置,符合,因此就進入了項目b了。 

如下時具體配置 

<VirtualHost *:80> 
   ServerName a.baiye5.com 
   DocumentRoot /var/www/html/項目a 
   <Directory /var/www/html/項目a> 
     AllowOverride all 
     Options -MultiViews 
   </Directory> 
</VirtualHost> 

<VirtualHost *:80> 
   ServerName b2b.baiye5.com 
   ServerAlias *.baiye5.com 
   DocumentRoot /var/www/html/項目b 
   <Directory /var/www/html/項目b> 
     AllowOverride all 
     Options -MultiViews 
   </Directory> 
</VirtualHost> 

解釋: 

爲何要配置到conf/mysiteconf/呢? 
其實真正的配置文件是conf/httpd.conf文件,在該文件中插入一句話Include conf/mysiteconf/*.conf,這句話的意思時加載全部conf/mysiteconf/目錄下以conf後綴的文件,這樣作的目的是爲了讓apache的配置更加簡潔,換言之,用戶也能夠直接在conf/httpd.conf內配置以上信息 


ServerName:    域名,不支持通配符* 
DocumentRoot:  項目根目錄(rails項目的話,指定到public目錄)  
ServerAlias: 設定虛擬主機的別名,支持通配符*,這裏時支持泛域名的訪問 
NameVirtualHost *:80 要和  VirtualHost *:80一致,以下 

    NameVirtual …(IP或域名) 
    <VirtualHost …(IP或域名,而且要與上面的保持絕對一致)> 
    …. 
    </VirtualHost> ide

相關文章
相關標籤/搜索