regex - 仅允许使用 mod_rewrite 的虚拟主机中的主机
问题描述
我只需要允许在我的虚拟主机上配置的主机。
例如:在我的 apache 中,我有以下配置:
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName mydomain.or
</VirtualHost>
<VirtualHost *:80>
ServerName www.mydomain.com
Redirect 301 / https://mydomain.or
</VirtualHost>
用户有自己的 DNS 服务器配置:www.dnsclient.or 使用我的 ip 设置,当他访问浏览器时会显示不安全的连接消息,这就是我想要阻止的,我需要只有配置的虚拟主机才能访问.
解决方案
您可以在 VirtualHost 中使用 RewriteRule。
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www.mydomain.com|mydomain.or)$ [NC]
RewriteRule .* - [F]
此规则仅允许 www.mydomain.com 和 mydomain.or。在基于名称的虚拟主机中,如果接收到的请求与指定的 ServerName 指令之一不匹配,它将由配置文件中定义的第一个作为默认值提供服务。
推荐阅读
- python - M1 mac numpy 问题
- mongodb - Mongodb:展开到具有不同名称的属性
- html - 如何仅限制用户输入的长度,但允许以编程方式输入任何长度
- next.js - 有什么配置吗,我需要添加下一个js来处理.less文件和带有@import'../lib/antd.less/的文件
- angular - Angular 库 - 无法读取未定义的属性“ɵmod”
- python - 将元组传递给frozenset
- python - 在 PCF 中使用 Django 的 Google Oauth2
- python - 如何为谷歌云预测生成json格式
- php - 符号链接错误:PHP 警告:符号链接():文件存在
- common-lisp - 为什么 REPL 没有显示函数调用的完整跟踪?