Linux

.htaccess 允許來自主機名?

  • March 15, 2010

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 不支持主機名嗎?

這很可能是因為 Apache 沒有按照您的想法查找主機名。它不是查看 hostname.whatever.local 並允許該地址,而是對連接的 IP 地址進行反向查找,查看響應是否與允許的名稱匹配。

(嗯,實際上 Apache 正在執行雙重查找,首先是反向查找,然後是對反向結果的正向查找。)

由於問題與動態 IP 地址有關,我認為它的 PTR 不會簡單地不斷更改。

您可以應用重寫引擎。使用 RewriteCond %{REMOTE_HOST} ^host1.* 可能後跟帶有錯誤程式碼的 RewriteRule

引用自:https://serverfault.com/questions/89984