1. 程式人生 > >LAMP環境搭建與配置(六)

LAMP環境搭建與配置(六)

十一 配置域名跳轉

1)需求,把123.com域名跳轉到www.123.com,配置如下:

<VirtualHost *:80>

DocumentRoot "/data/wwwroot/www.111.com"

ServerName www.111.com

ServerAlias 111.com 222.com

<IfModule mod_rewrite.c> //需要mod_rewrite模組支援

RewriteEngine on //開啟rewrite功能

RewriteCond %{HTTP_HOST} !^www.123.com$ //定義rewrite的條件,當主機名(域名)不是www.111.com滿足條件

RewriteRule ^/(.*)$ http://www.111.com/$1 [R=301,L] //定義rewrite規則,當滿足上面的條件時,這條規則才會執行

</IfModule>

</VirtualHost>

RewriteRule後面由空格劃分為三部分,第一部分為當前的URL(也就是網址),不過這個URL不把主機頭(域名)算在內的。第二部分為要跳轉的目標地址,這個地址可以寫全(包含了主機頭),當然也可以不加主機頭,預設就是前面定義的ServerName。第三部分為一些選項,需要用方括號,301位狀態碼(永久重定向),302為臨時重定向。L表示last,意思是跳轉一次就結束了。

/usr/local/apache2/bin/apachectl -M|grep -i rewrite //若無該模組,需要編輯配置檔案httpd.conf,搜尋rewrite。刪除rewrite_module (shared) 前面的#

curl -x127.0.0.1:80 -I 222.com //狀態碼為301

十二 配置Apache訪問日誌

訪問日誌記錄使用者的每一個請求,檢視訪問日誌

要配置httpd訪問日誌,首先要在主配置檔案中定義訪問日誌的格式,開啟主配置檔案:

vim /usr/local/apache2.4/conf/httpd.conf //搜尋LogFormat

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

LogFormat "%h %l %u %t \"%r\" %>s %b" common

%h為訪問網站的IP

%l為遠端登入名,這個欄位基本上為"-"

%u為使用者名稱,當時用使用者認證時,這個欄位為認證的使用者名稱

%t為時間

%r為請求的動作(比如用curl –I時就為HEAD)

%s為請求的狀態碼,寫成%>s為最後的狀態碼

%b為傳輸資料大小

%{Referer}i為referer資訊(請求本次地址上一次的地址就為referer)

%{User-Agent}i為瀏覽器表示

把虛擬主機配置檔案改成如下:

<VirtualHost *:80>

DocumentRoot "/data/wwwroot/www.123.com"

ServerName www.123.com

ServerAlias 123.com

CustomLog "logs/123.com-access_log" combined

</VirtualHost>

重新載入配置檔案

/usr/local/apache2.4/bin/apachectl -t

/usr/local/apache2.4/bin/apachectl graceful

curl -x127.0.0.1:80 -I 111.com

tail /usr/local/apache2.4/logs/111.com-access_log