# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
以下內容<VirtualHost *:80> DocumentRoot "/data/wwwroot/www.123.com" ServerName www.123.com <Directory /data/wwwroot/www.123.com> //指定認證的目錄 AllowOverride AuthConfig //這個至關於打開認證的開關 AuthName "123.com user auth" //自定義認證的名字,做用不大 AuthType Basic //認證的類型,通常爲Basic,其餘類型阿銘沒用過 AuthUserFile /data/.htpasswd //指定密碼文件所在位置 require valid-user //指定須要認證的用戶爲所有可用用戶 </Directory> </VirtualHost>
# /usr/local/apache2.4/bin/htpasswd -cm /data/.htpasswd aming
//建立用戶密碼,重難點區域<VirtualHost *:80> DocumentRoot "/data/wwwroot/www.123.com" ServerName www.123.com <FilesMatch admin.php> AllowOverride AuthConfig AuthName "123.com user auth" AuthType Basic AuthUserFile /data/.htpasswd require valid-user </FilesMatch> </VirtualHost>
<VirtualHost *:80> DocumentRoot "/data/wwwroot/www.123.com" ServerName www.123.com ServerAlias 123.com <IfModule mod_rewrite.c> //須要mod_rewrite模塊支持 RewriteEngine on //打開rewrite功能 RewriteCond %{HTTP_HOST} !^www.123.com$ //定義rewrite的條件,主機名(域名)不是www.123.com知足條件 RewriteRule ^/(.*)$ http://www.123.com/$1 [R=301,L] //定義rewrite規則,當知足上面的條件時,這條規則纔會執行,L表示只跳轉一次,301臨時重定向,302永久重定向,建議用301 </IfModule> </VirtualHost>
# /usr/local/apache2/bin/apachectl -M|grep -i rewrite
//若無該模塊,須要編輯配置文件httpd.conf,刪除rewrite_module (shared) 前面的## curl -x127.0.0.1:80 -I 123.com -I
//狀態碼爲301,-I不顯示內容,只顯示狀態碼# cat /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
# ls /usr/local/apache2.4/logs/
# vim /usr/local/apache2.4/conf/httpd.conf
//搜索LogFormat ,爲日誌格式,默認使用的common格式<VirtualHost *:80> DocumentRoot "/data/wwwroot/www.123.com" ServerName www.123.com ServerAlias 123.com CustomLog "logs/123.com-access_log" combined </VirtualHost>
apache虛擬主機開啓php的短標籤 http://www.aminglinux.com/bbs/thread-5370-1-1.htmlphp