.htaccess 文件中针对 IP 地址的特殊访问规则,仅授权一种目录结构

问题描述 投票:0回答:1

我使用 WordPress 已经很多年了,但是我想要存储在 .htaccess 中的访问规则有一个微妙的问题。我实际上使用 Apache 2.4.56。

  • 初始情况 1:Web 服务器应该只能由某些用户从外部访问。
  • 初始情况 2:我有两个给定的 IP 地址。

第一个客户端IP地址应该能够完全访问Web服务器,因此:

require ip 192.168.124.1

现在我有第二个客户端 IP 地址,也应该允许它访问 Web 服务器,但仅限于名为 /foo 的特定目录结构。此访问规则应适用于 /foo,但也适用于其下面的所有内容,例如/foo/酒吧。共享文件夹结构中不应该明确存在重定向,即如果有人想要访问 /foo/bar,那么他们也应该被允许访问 /foo/bar。

由于我使用WordPress,目录结构只是虚拟的,所以我无法在子目录结构中存储自己的.htaccess文件。

问候, 贝西姆

regex apache .htaccess
1个回答
0
投票

您可以尝试在第二条规则中使用 Apache 表达式。例如:

Require ip 192.168.124.1
Require expr "%{REQUEST_URI} =~ '^/foo($|/)' && %{REMOTE_ADDR} == '192.168.124.2'"

如果这些规则未在 container 中显式存在,则默认为

<RequireAny>
,因此这些规则中的任何一个都必须为 true 才能授予访问权限。

© www.soinside.com 2019 - 2024. All rights reserved.