1. 程式人生 > >教你怎麼在本地做二級域名解析(apache版)

教你怎麼在本地做二級域名解析(apache版)

之前我從來沒有這麼去弄過,在網上也找了一些時間,有些不能用,這個是apache+mysql+php+windows版本,絕對可用,而且很簡單。

首先把意思說清楚,你們想說的是不是這個意思——在本地127.0.0.1就相當於一個本地IP,系統預設localhost解析到這個IP上,所以在本地你用localhost也可以開啟這個本地網站,但是要的是這種情況,比如你準備用一個域名www.gif99.com怎麼解析到本地呢?下面我就一一道來:

以下所以操作只針對apache+mysql+php+windows版本

第一步:開啟C:\WINDOWS\system32\drivers\etc\hosts(一般是這個,如果找不到那就直接搜尋hosts這個檔案)

          開啟這個檔案後你會看到有這麼一行:127.0.0.1       localhost,那你在下面可以再加一行,或者是多行,比如:

127.0.0.1       localhost
127.0.0.1    www.gif99.com
127.0.0.1       img.gif99.com
127.0.0.1    wap.gif99.com
127.0.0.1    app.gif99.com

(紅色的是增加的內容),把檔案儲存後,你就可以上面的網站地址訪問本地網站了。

可以這還不能滿足一些人的要求,有的人有很多網站,比如wap.gif99.com就是一個手機網站,img.gif99.com

這是一個圖片網站,app.gif99.com這是一個手機應該網站,這都指到一個IP127.0.0.1上怎麼辦呢?接下來就看第二步了。

第二步:比如你想 img.gif99.com指向到 img 這個資料夾,wap.gif99.com指向 wap 這個資料夾,app.gif99.com指向 app 這個資料夾(如果沒有自己可以相對應的建立)

      這裡就用到一個一個虛擬主機的模式,但是安裝apache的時候預設是沒有開啟的,於是你就開啟apache的安裝位置,如我用的是AppServ,安裝目錄為:C:\AppServ\Apache2.2\相應的開啟一個叫conf的資料夾,它是apache的配置資料夾,在這個資料夾裡開啟一個叫httpd.conf

檔案,之後搜尋一下Directory,找到一個如:<Directory "D:/wamp/www/">的一行,看到把程式碼:

     Order deny,allow

     deny from all
改成:
    Order allow,deny

    Allow from all

(紅色表示修改)

第三步:在剛才這個httpd.conf檔案中,搜尋Include conf/extra/httpd-vhosts.conf (意思就是載入虛擬主機)

去掉它前面的#,然後儲存這個檔案

第四步:開啟目錄:C:\AppServ\Apache2.2\conf\extra 找到一個httpd-vhosts.conf (虛擬主機的配置)

這個檔案,一般是最後一個檔案,

在檔案最後新增上:

 #######################
<VirtualHost *:80>
    DocumentRoot "C:/AppServ/www/wap"
    ServerName wap.gif99.com
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:/AppServ/www/app"
    ServerName app.gif99.com
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:/AppServ/www/img"
    ServerName img.gif99.com
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot "C:/AppServ/www/"
    ServerName www.gif99.com
</VirtualHost>

這個根據目錄根據自己的apache檔案目錄來自行調整,我的apache工作目錄為C:/AppServ/www/,改成自己的apache工作目錄即可。

最後一步,重啟apache,在瀏覽器中輸入:www.gif99.com會出現根目錄的內容,相應的輸入:app.dir99.com 就會出現C:/AppServ/www/app資料夾裡的內容,依此類推。

要注意的一下是

以上配置好後,你會發現原來的偽靜態不起作用了,遇到這種問題,那麼就你把之前偽靜態規則放入

<VirtualHost *:80>
    DocumentRoot "C:/AppServ/www/"
    ServerName www.gif99.com
</VirtualHost>
之後變成:

<VirtualHost *:80>
    DocumentRoot "C:/AppServ/www/"
    ServerName www.gif99.com

    <ifmodule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^(.*)/(|qqapp/)([0-9]{1,4})/(lastest|star|popular|recommend)/([0-9]{0,4})$ $1/$2$4.php?c=$3&pg=$5
    RewriteRule ^(.*)/(|qqapp/)(tag|search)/(.+)/([0-9]{0,3})$ $1/$2s.php?w=$4&c=1&pg=$5
    RewriteRule ^(.*)/(|qqapp/)([0-9]{4,5})/(.+)/([0-9]{0,3})$ $1/$2s.php?w=$4&c=$3&pg=$5
    RewriteRule ^(.*)/(|qqapp/)all/(lastest|star|popular|recommend)/([0-9]{0,4})$ $1/$2$3.php?c=1&pg=$4
    RewriteRule ^(.*)/(|qqapp/)([0-9]{1,7}|random)$ $1/$2showpic.php?pid=$3
    RewriteRule ^(.*)/(|qqapp/)fullscreen/([0-9]{1,7})$ $1/$2fullscreen.php?pid=$3
    </ifmodule>

</VirtualHost>

(紅色為增加內容)

同樣的,你想其它app.gif99.com,wap.gif99.com等的偽靜態都可以安這種方式操作。

好了,祝你好運。