# 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