为内部LAN客户端设置不同的Lighttpd vhost - 可能只需要RegEx ......?

时间:2012-02-24 14:31:28

标签: regex lighttpd

我希望Lighttpd为内部客户端显示不同的页面,为其他人显示默认页面。

these two个链接之间,我知道我想要做什么,但我不确定RegEx我需要使用[http://] 192.168的主机名来限制客户端0.0。?或[http:// 192.168。?。?到另一页。我一直在lighttpd.conf中使用以下代码:

server.document-root       = "/var/www/sites"

$HTTP["host"] == "RegExHere" {
        server.document-root    = "/var/www/setup"
}

...对于'RegExHere',我尝试了各种尝试,例如:

192\.168\.0\.\d{1,3}(\s|$))+
192\.168\.
[192.168.[0-9]+.]
192\.168\.[0-9]+.[0-9]+$

......及其各种组合。我不知道我是否接近,但不管它只显示我的默认页面。

有人可以告诉我哪里出错吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

您必须使用=〜语法来匹配正则表达式。将$HTTP["host"] == "RegExHere"更改为$HTTP["host"] =~ "RegExHere",其中一个正则表达式应该有效。 ^192\.168\.\d{1,3}\.\d{1,3}$应该这样做。

在其上发现了这篇文章http://blog.evanweaver.com/2006/06/07/regular-expressions-in-lighttpd-host-redirects/

编辑:我认为您需要使用$ HTTP [“remoteip”]而不是$ HTTP [“host”],看起来您可以在没有正则表达式的情况下使用它。

$HTTP["remoteip"] == "10.0.0.0/8" { url.access-deny = ("") }

$HTTP["remoteip"] == "127.0.0.0/8" { url.access-deny = ("") }

http://forum.lighttpd.net/topic/27