vim /usr/local/apache2/conf/httpd.conf (主配置文件)
打开这个虚拟主机的配置文件,就不能curl主机配置文件里面了,就会404
1.7Apache用户认证
cd /data/www
mkdir abc
cp /etc/passwd ./12.txt
在浏览器上192.168.0.188/abc/12.txt能看到passwd里面的内容,想不让其他人看到,要更改一下配置
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf(更改虚拟主机配置文件)
还要记住不能用#作注释,否则会出现错误
C:/Program Files/Apache Group/Apache2/htdocs/.htaccess: AuthName takes one argument, The authentication realm (e.g. "Members Only")
<Directory /data/www/abc>
AllowOverride AuthConfig (表示进行身份验证)
AuthName "xiaoxuan" (自定义的)
AuthType Basic (认证类型)
AuthUserFile /data/.htpasswd (是存放用户名和密码的文件,认证文件位置)
require valid-user
</Directory>
source /etc/profile.d/path.sh
配置完虚拟主机配置文件,接下来建立验证文件
htpasswd -c /data/.htpasswd user1 (-c是创建这个文件/data/.htpasswd,后面跟username)
cat /data/.htpasswd
htpasswd /data/.htpasswd user2 (第二就不能加-c了,加了会把.htpasswd覆盖掉 )
apachectl graceful (重新加载)
1.##这里设置的目录为真实目录,并非虚拟目录
2. AllowOverride AuthConfig为允许认证
3. AuthType认证类型 Basic 由 mod_auth 提供
4. AuthName这里定义的内容将在 web 弹出的登陆框中显示
5. AuthUserFile定义认证文件路径,不要放在可能被下载到的地方
6. Require user定义允许访问的用户
配置默认虚拟主机
apache 页面错误 查看 、/usr/local/apache2/logs/error-log
1.8默认虚拟主机
不管你是什么域名,只要你指向到这台服务器,那么都会访问到这个网站,访问到的是第一个虚拟主机配置文件里边的网站,Apache默认的虚拟主机就是第一个,就要增加一个新的虚拟主机配置文件在第一个,这样就起到限制的作用,想要禁掉就去创建一个空目录
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
mkdir /tmp/123
chmod 600 /tmp/123
apachectl restart
192.168.3.39到浏览器访问,就会出现
1.9 域名301跳转
www.test.com 和www.aaa.com肯定要分一个主次,这两个域名都能访问同一个站点,搜索引擎不知道哪个是主的,所以把www.aaa.com跳转到www.test.com,这样就能哪个是主哪个是次了
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
<IfModule mod_rewrite.c> (用到rewrite这个模块)
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.aaa.com$ [OR] (这个是跳转的条件,[OR]表示或者,不加[OR]就是并且同时存在)
RewriteCond %{HTTP_HOST} ^www.bbb.com$
RewriteRule ^/(.*)$ http://www.test.com/$1 [R=301,L] (这个是规则,^/(.*)$以什么开头到结尾,(.*)这个作为一个整体,$1用来标记,最终会跳转到 如: 。
</IfModule>
到浏览器访问 都会跳转到
apache -M (可以看到rewrite共享的模块) 301永久重定向
apache -t
apache restart
curl -x192.168.0.188:80 www.aaa.com/fsfsfs -I或者是
curl -x192.168.0.188:80 www.bbb.com/fsfsfs -I //都会跳转到test.com
HTTP/1.1 301 Moved Permanently
Date: Fri, 05 Feb 2016 01:36:30 GMT
Server: Apache/2.2.31 (Unix) PHP/5.4.36
Location: http://www.test.com/fsfsfs
Content-Type: text/html; charset=iso-8859-1