如何通过 IP 限制对特定重写的访问
How to restrict access to a specific rewrite by IP
我有一个网站,我正在动态创建 URLs 用于 htaccess 重写。我要做的是根据访问者的 IP 地址限制 URL。
例如,我试图限制对 XYZ“子文件夹”中任何重写的访问
These should all be restricted to a specific IP
www.domain.com/XZY
www.domain.com/XZY/anotherfile.html
www.domain.com/XZY/anotherfolder
但不限制任何其他重写
These should all be accessible
www.domain.com/ABC
www.domain.com/greatfile.html
www.domain.com/ABC/greatfolder
XYZ 文件夹实际上并不存在,因此我无法在其中放置一个 htaccess 文件。感谢您提供的任何帮助。
使用 mod_rewrite,对任何以 /XZY
开头且不是来自指定 IP 地址的请求 URL 响应 403 禁止:
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !=203.0.113.111
RewriteRule ^XZY($|/) - [F]
在任何现有重写之前,像这样的任何阻塞指令都需要靠近 .htaccess
文件的顶部。
注意:这假定客户端直接连接到您的应用程序服务器。但是,如果您使用的是 CDN(例如 Cloudflare)、负载均衡器或前端缓存代理,那么您可能需要检查请求的另一个元素,因为客户端没有直接连接到您的服务器(代理是)。
我有一个网站,我正在动态创建 URLs 用于 htaccess 重写。我要做的是根据访问者的 IP 地址限制 URL。
例如,我试图限制对 XYZ“子文件夹”中任何重写的访问
These should all be restricted to a specific IP
www.domain.com/XZY
www.domain.com/XZY/anotherfile.html
www.domain.com/XZY/anotherfolder
但不限制任何其他重写
These should all be accessible
www.domain.com/ABC
www.domain.com/greatfile.html
www.domain.com/ABC/greatfolder
XYZ 文件夹实际上并不存在,因此我无法在其中放置一个 htaccess 文件。感谢您提供的任何帮助。
使用 mod_rewrite,对任何以 /XZY
开头且不是来自指定 IP 地址的请求 URL 响应 403 禁止:
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !=203.0.113.111
RewriteRule ^XZY($|/) - [F]
在任何现有重写之前,像这样的任何阻塞指令都需要靠近 .htaccess
文件的顶部。
注意:这假定客户端直接连接到您的应用程序服务器。但是,如果您使用的是 CDN(例如 Cloudflare)、负载均衡器或前端缓存代理,那么您可能需要检查请求的另一个元素,因为客户端没有直接连接到您的服务器(代理是)。