簡體   English   中英

如何重定向到默認主機名

[英]How to redirect to a default hostname

我想要類似的東西:

“ http://www.anyhostname.com” ==>“ http://192.168.0.1”

即我想將“ 192.168.0.1”以外的任何請求重定向到“ http://192.168.0.1”

我使用Lighttpd作為我的網絡服務器,使用dnsmasq作為我的DNS服務器。

我想知道您是否在進行透明代理 -如果是這樣,可能有比實際完成您概述的目標更好的機制來完成您想要做的事情。

但是,如果您想繼續這樣做,我想您可以使用lighttpd的mod_evhost工具輕松使用默認站點配置:

一般示例:

 server.document-root = "/home/user/sites/default/site" evhost.path-pattern = "/home/user/sites/%0/site/" 

如果請求example.org ,並且找到/home/user/sites/example.org/site/ ,則該路徑將成為docroot。

如果請求example.net但不存在名為/home/user/sites/example.net/site/ ,則docroot仍為/home/user/sites/default/site

如果您有要處理的特定主機名,可以將其添加到/etc/hosts並且dnsmasq將為它們提供服務。 如果您要處理幾百個主機/域,那么這將起作用,但是如果您想處理所有內容 ,則dnsmasq可能不是正確的工具。

我知道PowerDNS的PipeBackend可以輕松地給出相同的答案,而與DNS問題無關。 這樣,您可以輕松地攔截請求並專門處理一些或所有請求。 這樣,您可以為每個請求, 某些請求或您可以編程的任何內容回答192.168.0.1

好的,我解決了問題。 將解決方案重新發布到這里,希望它對以后的人有所幫助...

我通過修改lighttpd.conf文件解決了這一問題。 我在lighttpd.conf文件中添加了以下內容:

$HTTP["host"] !~ "mydesiredhostname\.com" {
        url.redirect = (
                                "" => "http://192.168.0.1/"
                        )
}

謝謝大家的寶貴時間。 干杯!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM