我怀疑是否有可能。客户有一个奇怪的要求,所以必须这样做。
我有一个允许某些ips的网站(ips在.htaccess中是硬编码的)。客户端为我提供了一个URL,其中包含一些以json格式列出的ips。我希望允许这些ips访问该网站。 (在网址上列出的Ips是动态的,所以我不能在.htaccess中使用它们)。有谁知道如何实现这一目标。
我知道我可以在htaccess中使用php文件(索引)并在其中编写代码来读取ips,但优先级是仅通过.htaccess文件来完成。
需要一些帮助。
我在httpd文件中创建了rewriteMap。 RewriteMap accessmap“txt:E:\ htdocs \ myfolder \ map.txt”
我的map.txt有以下条目。 127.0.0.11允许 127.0.0.1允许 127.0.0.12拒绝
我在htacces文件中添加这些条目
RewriteCond $ {accessmap:%{REMOTE_ADDR}}允许[NC] RewriteRule ^(。*)$ https://www.exampleweb.com/ $ 1 [L,R = 302]
现在,例如我在我的地图文件中有127.0.0.1作为允许,因此应该允许它访问该站点。如果我想访问任何其他IP的网站表单 130.0.0.11(不在地图文件中)应该重定向到此链接https://www.exampleweb.com。
我对htaccess知之甚少,无法理解怎么写 rewriteRule和重写条件。请帮忙。 注意:Ips只是例如,实际的ips会有所不同。
答案 0 :(得分:1)
RewriteMap accessmap“txt:file / path / to / map.txt”
注意:无法在 .htaccess 文件或目录部分中添加RewriteMap指令。 [来源:Using rewrite map]
RewriteCond $ {accessmap:%{REMOTE_ADDR}}!^ allow
RewriteRule ^(。)$ - [F,L] *
这将允许 map.txt 文件中列出的值允许访问您网站的IP地址。否则,用户将看到403禁止错误。
答案 1 :(得分:0)
.HTtaccess文件由Apache HTTPD服务器不断读取。您可以根据需要通过脚本或其他内容更改其中的特定授权指令,并立即应用新的auth指令。