Lighttpd mod_rewrite 和 SSL

Lighttpd mod_rewrite 和 SSL

我正在尝试阻止搜索引擎通过 SSL 版本的网站进行抓取,以防止内容重复和规范化问题。

我发现了以下精彩的文章: http://www.seoworkers.com/seo-articles-tutorials/robots-and-https.html

问题是,我正在使用 lighttpd,它似乎没有 RewriteCond 指令,将重写仅限于 SSL。

有人能建议这在 lighttpd 上是否可行,并提供一个片段吗?

提前致谢!

答案1

尝试这个:

$SERVER["socket"] == "a.b.c.d:443" {
  ...

  $HTTP["host"] =~ "<yourhostname>" {
    url.rewrite-once = ("^robots.txt$" => "robots_ssl.txt")
  }
}

url.rewrite-once绝对应该位于$SERVER["socket"]您的 SSL 部分中,并且仅在访问您的 SSL 主机时才应用。

url.rewirte-once 可以放置没有有条件的,但根据一些论坛的说法,它似乎不会一直起作用。

答案2

如果您至少拥有 1.4.19 版本,您应该能够使用条件配置,例如:

$HTTP["scheme"] == "https" {
     url.rewrite-once = ("^robots.txt$" => "robots_ssl.txt")
}

相关内容