虛擬目錄配置
就是說,我們放項目放在D盤,F盤,而不是默認的www文件夾下也可以訪問。比如這里,我在
- D:/PHP/work
放入的項目文件。
在httpd.conf加入:
(位置一般是在 </IfMoudule>這個標簽下面)
#判斷是否存在dir_module 這個模塊
<IfModule dir_module>
#設置歡迎界面
DirectoryIndex index.php index.html index.htm
#配置別名,就是瀏覽器訪問時用的。 localhost/ws
Alias /ws "D:/PHP/work"
<Directory "D:/PHP/work">
#權限,只針對當前的目錄而言
Order allow,deny
#允許所有人訪問
Allow from all
</Directory>
</IfModule>
重啟apache
http://localhost/ws 就可以訪問了。
配置虛擬主機
1: 還是httpd.conf這個文件。搜索“vhosts”
把include前的就#刪掉。
include就是把那個文件包含進來。
2: 編輯 apache2.2.22\conf\extra\httpd-vhosts.conf.
在最下面添加:
<VirtualHost 127.0.0.1:80>
#你的網站目錄
DocumentRoot "D:/PHP/work"
#你網站的域名
ServerName www.gaotong2055.com
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
#權限設置
Order allow,deny
Allow from all
</VirtualHost>
3: 修改windows hosts文件
首先,我們要明白為什么訪問localhost就可以訪問到我們的apache主頁。
解析域名的時候,首先是從本地的hosts文件開始的。
如果查不到,才會去DNS服務器查詢(這個就不多說了)。
如果你在這里面寫一行:127.0.0.1 www.baidu.com
百度你是肯定上不了。因為訪問的是你自己的機器。
hosts 就是一個映射(域名和IP的對應,localhost也可以說是一個域名) localhost -> 127.0.0.1
找到C:\WINDOWS\system32\drivers\etc\hosts ,修改如下
不多解釋,這就是為什么計算機認識localhost的原因。
127.0.0.1 localhost
127.0.0.1 www.gaotong2055.com
4、最后別忘了修改我們的DocumentRoot
還是httpd.conf 搜索:“DocumentRoot” 注釋掉,修改為:
#DocumentRoot "c:/wamp/www/"
DocumentRoot "D:/PHP/work"
現在輸入:
www.gaotong2055.com , 就可以訪問我們的網站了
PS:當然了,這個方法只適合自娛自樂了,只有在自己的機器上可以用www.gaotong2055.com來訪問。
因為我們並沒有注冊域名什么的。 說白了,和用localhost訪問是一樣的。
多域名配置
就是一個主機IP , 有多個域名,每個域名要對應不同網站(注意:不是同一個網站)。
比如,我想在添加一個域名: www.gaotong.com 訪問
D:/PHP/work2
這個項目。
方法1: 通過端口區分。
原理就是很據端口區分,apache是可以監聽多端口的。這個方法就是在域名配置里面寫個其它的端口。
方法2: 使用*配符 配置httpd-vhosts.conf
把原來的<VirtualHost 127.0.0.1:80> 改為 <VirtualHost *:80>就可以了。
#域名1
<VirtualHost *:80>
#你的網站目錄
DocumentRoot "D:/PHP/work"
#你網站的域名
ServerName www.gaotong2055.com
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
Order allow,deny
Allow from all
</VirtualHost>
#域名2
<VirtualHost *:80>
#你的網站目錄
DocumentRoot "D:/PHP/work2"
#你網站的域名
ServerName www.gaotong.com
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
Order allow,deny
Allow from all
</VirtualHost>