閱讀705 返回首頁    go 人物


怎麼配置Apache服務器的使二級域名支持

首先,你的擁有一個有泛域名解析的頂級域名,例如: pengpan.com其次,在 httpd.conf 中打開 mod_rewrite之後,在 httpd.conf 的最後,添加以下內容:

RewriteEngine on
RewriteMap lowercase int:tolower
RewriteMap vhost txt:/usr/local/etc/apache/vhost.map
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/$1

其中的 /usr/local/etc/apache 是你的 apache 服務器配置文件所在路徑,根據實際情況更改。
然後,在這個所在路徑的目錄下創建一個文件: vhost.map
內容為:

www. pengpan.com /usr/local/www/data-dist/ pengpan
bbs. pengpan.com /usr/local/www/data-dist/bbs
anyname. pengpan.com /usr/local/www/data-dist/anyname

以上部分都是:” 域名+空格+絕對路徑” 的形式。

最後,在你的網站根目錄 /usr/local/www/data-dist 下,創建對應目錄:
domain , bbs , anyname 等等,理論上可以無限。

這樣,通過瀏覽器,訪問 www. pengpan.com 時,實際上訪問的就是 /usr/local/www/data-dist/ pengpan目錄下的文件。同理,訪問 bbs. pengpan.com 實際上訪問的就是 /usr/local/www/data-dist/bbs 目錄下的文件。而且,你可以
隨時更改 vhost.map 來增加、刪除、修改你的二級域名和所指向的實際路徑,不用重啟 apache。

第一步:打開apache的配置文件httpd.conf,去掉LoadModule rewrite_module modules/mod_rewrite.so前麵的#號。
第二步:打配置文件尾部加上
RewriteEngine on
RewriteMap lowercase int:tolower
#定義映像文件
RewriteMap vhost txt:/apache/vhost/vhost.map
#處理變名
RewriteCond %{REQUEST_URI} !^/icons/
RewriteCond %{REQUEST_URI} !^/cgi-bin/
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
這裏做基於文件的重新映射
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/$1
RewriteCond %{REQUEST_URI} ^/cgi-bin/
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/cgi-bin/$1

注意:vhost.map文件是域名和空間映像的文件,格式如下: 
www. pengpan.com /vhostusr/www. pengpan.com
www. pengpan.com /vhostuser/www. pengpan.com
www. pengpan.net /vhostuser/www. pengpan.net
www. pengpan.com.cn /vhostuser/www. pengpan.com.cn
.
.
.
.
(你不會連/vhostuser/www. pengpan.com目錄也沒建吧,會報錯的喲)
第三步:保存配置文件,重啟apache。在開設可綁定域名的空間時,隻要在vhost.map文件裏添加相應記錄,並建立相應文件夾就OK了~~~
其實這個可以用php腳本來完成的,很簡單的~~嗬嗬~~~
注意啊:php_admin_value open_basedir “path,這個選項要配好啊~~新手如果不懂的,就不要動這個了~
==============================================
方法二、

rewriteengine on
rewritecond %{HTTP_HOST} [^.]+\.域名\.com$
rewriterule ^(.+) %{HTTP_HOST}$1 [C]
rewriterule ([^.]+)\.域名\.com(.*) /$1$2
其他配置文件

接著在DNS中開設一個泛解析到對應的IP地址。
就可以實現下麵的方案。

域名: pengpan.com
絕對路徑:/home/ pengpan.com/
www. pengpan.com 自動解析到 /home/ pengpan.com/www/
abc.d pengpan.com 自動解析到 /home/ pengpan.com/abc/
等等子域名都可以自動解析到 /home/ pengpans.com/對應子域名名稱的文件夾
直接建立子域名名稱的文件夾即可使用。不需重啟apache。

最後更新:2017-01-04 22:34:51

  上一篇:go 怎樣將托管的服務器寄回
  下一篇:go 什麼叫服務器托管