Apache VirtualHost配置


最簡單的方法:

一、打開httpd.conf,找到:

#Include conf/extra/httpd-vhosts.conf

取消這一行的註釋,即刪除前面的#

 

二、打開 conf/extra/httpd-vhosts.conf

比如要添加一個 uri 爲 local.weitwo.com的virtual host,映射到本機的80端口,那麼修改或者複製example中的<VirtualHost></VirtualHost>節點,

修改其中的ServerName爲 local.weitwo.com 即可

 <VirtualHost *:80>

    ServerAdmin [email protected]

    DocumentRoot "D:/Project/PHP/WeiTwoWebsite"

    ServerName local.weitwo.com

    ErrorLog "logs/local.weitwo.com.log"

    CustomLog "logs/t.weitwo.com-access.log" common

 </VirtualHost>

然後再修改本機的host文件, 位於system32/driver/etc下,增加: 127.0.0.1 local.weitwo.com

此時即可在本機訪問local.weitwo.com了

 

二、爲VirtualHost添加 url rewrite

1.在httpd.conf中,找到如下行

 #LoadModule rewrite_module modules/mod_rewrite.so

取消其註釋,即刪除前面的“#”

2.在VirtualHost中,添加Directory節點,指定AllowOverride爲All,如果你想通過.htaccess中寫rewrite規則,就不需要再做什麼了,如果你想直接在conf文件中寫rewrite rule,直接在Directory節點中寫rewrite規則即可。

最終的VirtualHost像下面這樣:

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "D:/Project/PHP/WeiTwoWebsite"
    ServerName local.weitwo.com
    ErrorLog "logs/local.weitwo.com.log"
    CustomLog "logs/t.weitwo.com-access.log" common
    
<Directory "D:/Project/PHP/WeiTwoWebsite">
        #Options Indexes FollowSymLinks
        AllowOverride All
        #RewriteEngine on
        #RewriteRule ^c.php$ a.html
    
</Directory>
</VirtualHost>




或者直接在httpd.conf文件末尾添加以下內容

NameVirtualHost *:80

<VirtualHost *:80>
    ServerAlias abc.sh.cn *.abc.sh.cn
    DirectoryIndex index.html
    DocumentRoot /var/www/abc/
    ServerName abc.sh.cn
    ErrorLog logs/abc.sh.cn-error_log
</VirtualHost>

<VirtualHost *:80>
    ServerAlias cba.cn *.cba.cn
    DirectoryIndex index.html index.php
    DocumentRoot /var/www/cba/
    ServerName cba.cn
    ErrorLog logs/cba.cn-error_log
</VirtualHost>

這樣就可以使用兩個域名解析到同一IP上卻得到不同頁面。

如果要禁止用戶直接用IP進行訪問,只要在
NameVirtualHost *:80
這句之後插入以下內容:

<VirtualHost *:80>
        ServerName YourIpAddress
        <Location />
                Order Allow,Deny
                Deny from all
        </Location>
</VirtualHost>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章