我如何阻止任何人访问我的 IP 地址但不访问 apache 中的子文件夹。
例子:
44.555.666.777 <- 我想禁用访问并将其重定向到另一个域中的另一台服务器。
44.555.666.777/v1 <- 他们可以访问这个!
在我已经启用代理服务器的情况下我该如何做呢?
我已经有了这个,但是这会导致禁止访问,我想要将它们重定向到 404 页面。该页面位于另一个域中。
<Directory /var/www/>
Order allow,deny
Allow from 44.555.666.777
Allow from 127
</Directory>
答案1
一种方法是使用 mod_rewrite。使用 ModRewrite 有几种方法可以实现这一点。一种方法如下:
RewriteEngine On
RewriteCond %{HTTP_HOST} "44.55.66.77"
RewriteRule ^/(.*)/ - [L,NC]
RewriteRule ^/(.*) "http://url.for.404.site/path" [R,L]
我还没有尝试过,所以可能需要一些调整,但想法是(1)打开重写,(2)匹配目标 IP 而不是虚拟主机,(3)忽略子目录中的任何内容,(4)重写其他任何内容。