Apache - 允许一个通配符 URL,拒绝所有其他请求

Posted

技术标签:

【中文标题】Apache - 允许一个通配符 URL,拒绝所有其他请求【英文标题】:Apache - Allow one wildcard URL, deny all other requests 【发布时间】:2013-09-21 17:30:28 【问题描述】:

在 Apache 上,如何只允许来自一个通配符 URL 的流量,例如:*secure.mywebsite.com*,并拒绝所有其他 http 请求?

谢谢

【问题讨论】:

【参考方案1】:

你可以这样做:

RewriteCond %HTTP_HOST !(^|\.)secure\.mywebsite\.com$ [NC]
RewriteRule ^ - [F]

如果不是secure.mywebsite.com,这将拒绝(禁止错误)所有网络请求

【讨论】:

谢谢。我需要启用(取消哈希)任何模块来启用/添加它吗? 是的,mod_rewrite 需要启用,.htaccess 也应该启用。 好的,谢谢。还有一件事-secure\.mywebsite\.com,它是明确用于这个地址还是会起作用,例如:something.secure.mywebsite.com/home/index.php 由于我在secure 之前使用^,因此我的正则表达式将只匹配(并允许)secure.mywebsite.com。如果您的要求也是允许something.secure.mywebsite.com,请告诉我,我将更改上面的正则表达式。 htaccess 不是默认开启的吗?不确定您的意思:.htaccess 也应该启用

以上是关于Apache - 允许一个通配符 URL,拒绝所有其他请求的主要内容,如果未能解决你的问题,请参考以下文章

Confluence 6 白名单表达式类型

使用Azure功能启用CORS通配符子域

Apache Rewrite - 重定向通配符子域和处理内部 URL 缩短器

Apache 位置匹配通配符 URL

在 apache 2.2.3 上设置通配符子域(带有反向代理)

Apache访问验证方式