Lighttpd正则表达式重定向匹配模式的所有页面,除了一个

时间:2015-08-11 02:50:42

标签: regex lighttpd

使用lighttpd我成功地重定向了以:

开头的所有页面
http://www.domain.com/cgi-bin/MDM/

使用此对应的安全版本:

$HTTP["scheme"] == "http" {
   $HTTP["host"] == "www.domain.com" {
   url.redirect = ( "^/cgi-bin/MDM/(.*)" => "https://www.domain.com/$1" )
   }
}

这很有效。但是现在我发现一个这样的页面不能作为HTTPS提供,因为第三方脚本链接到非HTTPS元素。所以我想排除一个页面:

http://www.domain.com/cgi-bin/MDM/page.html

我尝试了很多东西,但似乎无法做出正确的规则。任何想法都将不胜感激。

1 个答案:

答案 0 :(得分:2)

您可以使用!=排除重定向的所有网址:

$HTTP["scheme"] == "http" {
  $HTTP["host"] == "www.domain.com" {
    $HTTP["url"] != "/cgi-bin/MDM/page.html" {
      url.redirect = ( "^/cgi-bin/MDM/(.*)" => "https://www.domain.com/$1" )
    }
  }
}