.htaccess 允许来自主机名吗?

.htaccess 允许来自主机名吗?

Ubuntu 9.10 Apache2

嗨,大家好,

长话短说,我需要根据不时变化的动态 IP 源地址来限制对我网站特定部分的访问。从历史上看,我刚刚将以下内容添加到 htaccess 中...

order deny,allow
deny from all
# allow my dynamic IP address
allow from <dynamic ip>

但问题是每次 IP 改变时我都必须手动进行此更改。

理想情况下,我想指定一个主机名......例如:

order deny,allow
deny from all
# allow my host
allow from hostname.whatever.local

但那似乎不起作用。我收到错误 403 - 禁止访问。.htaccess 不支持主机名吗?

答案1

这很可能是因为 Apache 没有按照您的想法查找主机名。它不会查找 hostname.whatever.local 并允许该地址,而是对连接的 IP 地址进行反向查找,查看响应是否与允许的名称匹配。

(嗯,实际上 Apache 正在进行双重查找,首先进行反向查找,然后对反向结果进行正向查找。)

由于问题涉及动态 IP 地址,我认为它的 PTR 不会不断地改变。

答案2

您可以应用重写引擎。使用 RewriteCond %{REMOTE_HOST} ^host1.*,然后可能是带有错误代码的 RewriteRule

相关内容