apache域名301跳转和访问控制的优先级

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache域名301跳转和访问控制的优先级相关的知识,希望对你有一定的参考价值。

apache域名301跳转和访问控制的优先级

实验背景:apache虚拟主机有两个域名 111.com 222.com 其中222.com 访问的时候跳转到111.com,并且给该虚拟主机做了访问控制,只允许127.0.0.1访问。
问题:当访问222.com时,它是先跳转到111.com,还是直接403呢?

打开apache中虚拟主机配置文件: vim /usr/local/apache2/conf/extra/httpd-vhosts.conf,可以看到当前配置如下(没做访问控制措施):

技术分享

我们现在在以上配置文件中加入域名跳转和访问控制措施,如下图:

技术分享

然后,保存退出!查看apache状态和刷新命令:

Apachectl –t ; apachectl graceful

需要注意的是,在做域名跳转时一定要确保系统有rewrite模块!查看命令和结果如下:

技术分享

由于在LAMP搭建过程中,apache要多次重启和检查,本人建议大家做个软连接比较方便,可以参考如下命令:ln –s /usr/local/apache2/bin/apachectl   /usr/bin

接下来我们进行测试,结果如下:

如果你做了用户登入认证,那么要关闭再进行测试,否则会失败!(带颜色的部分前面加#)

技术分享

技术分享

结果是都能访问的。

此时可能会怀疑,访问控制的位置是在下面,所以调换位置:

技术分享

技术分享

一样的效果。所以得出结论。


结论: 301跳转优先级会高于访问控制!



以上是关于apache域名301跳转和访问控制的优先级的主要内容,如果未能解决你的问题,请参考以下文章

求解惑,关于js跳转和header跳转的区别

4.13 apache用户认证,跳转和访问日志

Apache Rewrite实现URL的跳转和域名跳转

服务器端跳转和客户端跳转

lamp默认虚拟主机和301跳转

Apache配置域名301跳转