Virtual Host配置過程
這里例子中我們的路徑為這樣
DocumentRoot: /home/jb51 /sites/demo.vevb.com
ServerName:demo.vevb.com
1.進入apache虛擬主機設置目錄
cd /etc/apache2/sites-available
2.創建文件demo.vevb.com
<VirtualHost *:80> ServerAdmin webmaster@localhost DirectoryIndex index.html index.php DocumentRoot /home/jb51 /sites/demo.vevb.com ServerName demo.vevb.com ServerAlias demo.vevb.com <Directory "/home/jb51 /sites/demo.vevb.com"> allow from all Options + Indexes </Directory> </VirtualHost>
3.激活虛擬主機配置
sudo a2ensite demo.vevb.com
4.進入 /etc/apache2/sites-enabled/目錄,可以查看所有激活的虛擬主機。可以用 sudo a2dissite demo.vevb.com 注銷
cd /etc/apache2/sites-enabled ls -lt
顯示
lrwxrwxrwx 1 root root 36 2013-04-05 17:29 demo.vevb.com -> ../sites-available/demo.vevb.com
5.重啟apache服務
sudo /etc/init.d/apache2 restart
6.ubuntu 設置host
vim /etc/hosts
127.0.0.1 demo.vevb.com
7.<Directory>設置開啟.htaccess與顯示目錄結構列表
<Directory "/home/jb51 /demo.vevb.com"> AllowOverride none AllowOverride all Options -Indexes FollowSymLinks </Directory>
AllowOverride none 表示關閉.htaccess,如要開啟可設置為AllowOverride all
Options -Indexes 表示關閉目錄結構顯示,如要開啟可設置為 Options Indexes
Options FollowSymLinks 表示支持symbol link(軟連接),如要關閉可設置為Options -FollowSymLinks
rewrite模塊重要參數說明
開啟rewrite:
sudo a2enmod rewrite
停用rewrite:
sudo a2dismod rewrite
服務器環境變量:Apache提供給rewirte模塊的環境變量大概分成5個類型.
第一部分: HTTP headers 部分參數
1.參數名稱: HTTP_USER_AGENT
樣例參考值: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8
說明: 相當于PHP中的服務器參數: $_SERVER["HTTP_USER_AGENT"]
2.參數名稱: HTTP_REFERER
樣例參考值: http://www.test.cn/test.php
說明: 相當于PHP中的服務器參數: _SERVER["HTTP_REFERER"]
3.參數名稱: HTTP_COOKIE
樣例參考值: ZDEDebuggerPresent=php,phtml,php3
說明: 相當于PHP中的服務器參數: $_SERVER["HTTP_COOKIE"]
4.參數名稱: HTTP_FORWARDED
樣例參考值: 如果使用代理服務器的話會是代理服務器的IP地址, 本地不容易搭環境測試出值來.
說明: 相當于PHP中的服務器參數: $_SERVER["HTTP_FORWARDED"]
5.參數名稱: HTTP_HOST
樣例參考值: www.test.com
說明: 相當于PHP中的服務器參數: $_SERVER["HTTP_HOST"]
6.參數名稱: HTTP_PROXY_CONNECTION
樣例參考值: 網絡連接代理方面的信息. 和HTTP_FORWARDED參數一樣. 本地不容易搭環境測試出值來.
說明: PHP中貌似未提供這樣的服務器信息值. 如果又的話可能等值于: $_SERVER["HTTP_PROXY_CONNECTION"]
7.參數名稱: HTTP_ACCEPT
樣例參考值: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
說明: 相當于PHP中的服務器參數: $_SERVER["HTTP_ACCEPT"]
第二部分: server internals 部分參數
1.參數名稱: DOCUMENT_ROOT
樣例參考值: C:/webRoot/t
說明: 相當于PHP中的服務器參數: $_SERVER["DOCUMENT_ROOT"]
2.參數名稱: SERVER_ADMIN
樣例參考值: [email protected]
說明: 相當于PHP中的服務器參數: $_SERVER["SERVER_ADMIN"]
3.參數名稱: SERVER_NAME
樣例參考值: www.test.com
說明: 相當于PHP中的服務器參數: $_SERVER["SERVER_NAME"]
4.參數名稱: SERVER_ADDR
樣例參考值: 127.0.0.1
說明: 相當于PHP中的服務器參數: $_SERVER["SERVER_ADDR"]
5.參數名稱: SERVER_PORT
樣例參考值: 80
說明: 相當于PHP中的服務器參數: $_SERVER["SERVER_PORT"]
6.參數名稱: SERVER_PROTOCOL
樣例參考值: HTTP/1.1
說明: 相當于PHP中的服務器參數: $_SERVER["SERVER_PROTOCOL"]
7.參數名稱: SERVER_SOFTWARE
樣例參考值: Apache/2.2.11 (Win32) PHP/5.2.9-1
說明: 相當于PHP中的服務器參數: $_SERVER["SERVER_SOFTWARE"]
第三部分: connection & request 部分參數
1.參數名稱: REMOTE_ADDR
樣例參考值: 127.0.0.1 正在瀏覽當前頁面用戶的 IP 地址。
說明: 相當于PHP中的服務器參數: $_SERVER["REMOTE_ADDR"]
2.參數名稱: REMOTE_HOST
樣例參考值: 127.0.0.1 正在瀏覽當前頁面用戶的主機名。反向域名解析基于該用戶的 REMOTE_ADDR
說明: 相當于PHP中的服務器參數: $_SERVER["REMOTE_HOST"]
3.參數名稱: REMOTE_PORT
樣例參考值: 2574 (變化的值)用戶連接到服務器時所使用的端口
說明: 相當于PHP中的服務器參數: $_SERVER["REMOTE_PORT"]
4.參數名稱: REMOTE_USER
樣例參考值: 空
說明: PHP 好像未提供相關的$_SERVER值.
5.參數名稱: REMOTE_IDENT
樣例參考值: 空
說明: PHP 好像未提供相關的$_SERVER值.
6.參數名稱: REQUEST_METHOD
樣例參考值: GET
說明: 相當于PHP中的服務器參數: $_SERVER["REQUEST_METHOD"]
7.參數名稱: SCRIPT_FILENAME
樣例參考值: C:/webRoot/t/share77.html
說明: 相當于PHP中的服務器參數: $_SERVER["SCRIPT_FILENAME"]
8.參數名稱: PATH_INFO
樣例參考值: 空
說明: 相當于PHP中的服務器參數: $_REQUEST["PATH_INFO"]
9.參數名稱: QUERY_STRING
樣例參考值: a=b&c=d&e=f
說明: 相當于PHP中的服務器參數: $_SERVER["QUERY_STRING"]
10.參數名稱: AUTH_TYPE
樣例參考值: 空 當 PHP 運行在 Apache 模塊方式下,并且正在使用 HTTP 認證功能,這個是認證的類型
說明: 相當于PHP中的服務器參數: $_SERVER["AUTH_TYPE"]
第四部分: date and time 部分參數
1.參數名稱: TIME_YEAR
樣例參考值: 2009
說明: 服務器獲取當前的年份值
2.參數名稱: TIME_MON
樣例參考值: 04
說明: 服務器獲取當前的月份值
3.參數名稱: TIME_DAY
樣例參考值: 22
說明: 服務器獲取當前的日值
4.參數名稱: TIME_HOUR
樣例參考值: 16
說明: 服務器獲取當前時間的小時
5.參數名稱: TIME_MIN
樣例參考值: 26
說明: 服務器獲取當前時間的分鐘
6.參數名稱: TIME_SEC
樣例參考值: 34
說明: 服務器獲取當前時間的秒
7.參數名稱: TIME_WDAY
樣例參考值: 3
說明: 服務器獲取當天是星期幾, 從星期日-星期六, 數字從 0-6
8.參數名稱: TIME
樣例參考值: 20090422162634
說明: 服務器獲取當前的時間, 格式為: 年月日時分秒
第五部分: specials 部分參數
1.參數名稱: API_VERSION
樣例參考值: 20051115:21
說明: apache 的 API 版本信息.
2.參數名稱: THE_REQUEST
樣例參考值: GET /share77.html HTTP/1.1
說明: 瀏覽器發給服務器的請求值. 不包括其他的頭信息.
3.參數名稱: REQUEST_URI
樣例參考值: /share77.html
說明: 瀏覽器請求的資源信息.
4.參數名稱: REQUEST_FILENAME
樣例參考值: C:/webRoot/t/share77.html
說明: 被請求的資源的在磁盤的物理地址.
5.參數名稱: IS_SUBREQ
樣例參考值: false
說明: 如果是 sub-request 則顯示為 true, 否則為 false.
6.參數名稱: HTTPS
樣例參考值: off
說明: 如果連接使用 SSL/TLS 模式, 則值為on , 否則值為off, 這個參數比較安全, 即使未載入 mod_ssl 模塊時.