Apache用户认证、默认虚拟主机、域名301跳转

apache hosts配置文件:

vim /usr/local/apache/conf/extra/httpd-vhosts.conf

apache 主配置文件:

vim /usr/local/apache/conf/httpd.conf

apache命令:

vim /etc/profile.d/path.sh    ##设置apache环境

apachectl -t(检查配置文件是否有错) -M(检查模块是否加载) graceful(重新加载)start(启动)restart(重启)


 vim /usr/local/apache/conf/extra/httpd-vhosts.conf

##默认虚拟记住配置:

<VirtualHost *:80>
DocumentRoot "/tmp/123"
ServerName 1232.com
</VirtualHost>


##80端口配置

<VirtualHost *:80>

DocumentRoot "/data/www"
ServerName www.test.com
ServerAlias www.cc.com
ServerAlias www.aa.com

# ErrorLog "logs/dummy-host.example.com-error_log"
# CustomLog "logs/dummy-host.example.com-access_log" common

##301跳转模块
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.cc.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.aa.com$
RewriteRule ^/(.*)$ http://www.test.com/$1 [R=301,L]
</IfModule>

##用户认证模块

<Directory /data/www/abc/>
AllowOverride AuthConfig
AuthName "的"
AuthType Basic
AuthUserFile /data/.htpasswd
require valid-user
</Directory>

</VirtualHost>


 

vim /usr/local/apache/conf/httpd.conf

     启用apache 的hosts功能

   启用该模块可实现跳转

   apachectl -M   检查是否加载该模块

 

 

 


 总结:

1.所有模块的添加都是在80端口模块下完成的
2.每个域名的跳转,都需要将该域名加在80端口下,ServerAlias是可以写多个的
3.windows下也需要将跳转的域名加到hosts下
4.检查rewrite模块是否加载:apachectl -M
5.以上都没有问题的时候还有403,则需要清除规则iptables -F
注:每次编辑完httpd-vhosts.conf,记得检查是否有错apachectl -t,然后重新加载apachectl graceful。

posted @ 2017-02-18 00:54  凹凸先生  阅读(587)  评论(0编辑  收藏  举报