此處教程咱們編輯/usr/local/apache2.4/conf/extra/httpd-vhosts.conf修改上節配置的111.com的虛擬機配置爲如下內容:php
<Directory /data/wwwroot/www.111.com> //指定認證的目錄 AllowOverride AuthConfig //這個至關於打開認證的開關 AuthName "111.com user auth" //自定義認證的名字,做用不大 AuthType Basic //認證的類型,通常爲Basic,其餘類型阿銘沒用過 AuthUserFile /data/.htpasswd //指定密碼文件所在位置 require valid-user //指定須要認證的用戶爲所有可用用戶 </Directory>
/usr/local/apache2.4/bin/htpasswd -c -m /data/.htpasswd 用戶名
此處密碼咱們設定爲:12345678 用戶爲 yolksapache
/usr/local/apache2.4/bin/apachectl -t /usr/local/apache2.4/bin/apachectl graceful
curl -x127.0.0.1:80 111.com
直接命令行測試vim
curl -x127.0.0.1:80 -uyolks:12345678 111.com -I
返回狀態碼200說明請求正常瀏覽器
須要在/usr/local/apache2.4/conf/extra/httpd-vhosts.conf配置文件中111.com添加以下配置表示對admin.php文件作限制:curl
<FilesMatch admin.php> AllowOverride AuthConfig AuthName "111.com user auth" AuthType Basic AuthUserFile /data/.htpasswd //指定密碼文件所在位置 require valid-user </FilesMatch>
vim /data/wwwroot/111.com/admin.php <?php echo "this is admin.php test page!"; ?>
curl -x127.0.0.1:80 111.com/admin.php -I
curl -x127.0.0.1:80 -uyolks:12345678 111.com/admin.php
返回數據正常200ide
對應文件仍是虛擬主機配置文件/usr/local/apache2.4/conf/httpd.conf中添加以下配置:測試
<IfModule mod_rewrite.c> //須要mod_rewrite模塊支持 RewriteEngine on //打開rewrite功能 RewriteCond %{HTTP_HOST} !^.111.com$ //定義rewrite的條件,主機名(域名)不是111.com時知足條件跳轉到111.com來 RewriteRule ^/(.*)$ http://111.com/$1 [R=301,L(L表示last只跳轉1次)] //定義rewrite規則,當知足上面的條件時,這條規則纔會執行 </IfModule>
以下圖所示:網站
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful
/usr/local/apache2.4/bin/apachectl -M
vi /usr/local/apache2.4/conf/httpd.conf
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful
curl -x127.0.0.1:80 www.example.com -I
默認apache 配置的日誌文件ui
路徑: /usr/local/apache2.4/logs/111.com-access_logthis
查看111.com虛擬主機用戶訪問請求日誌
此日誌文件輸出的內容含義參考主配置文件 /usr/local/apache2.4/conf/httpd.conf
默認顯示規則
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
此處新訪問多顯示內容即爲新格式format生效的格式
apache虛擬主機開啓php的短標籤 http://ask.apelearn.com/question/5370