-1

我想要以以下开头的重定向地址:

en.example.com/somefile.php

到:

example.com/somefile.php?language=en

在 lighttpd 中使用 mod_rewrite 模块。直到现在我得到了这个:

$HTTP["host"] =~ "^en\.(.*)\.com$" {
        url.rewrite-once = (
                "^/(.*)"
                =>
                "/$1?language=en"
        )
}

但这似乎不起作用。怎么做才能使这项工作?

4

3 回答 3

6

试试这个:

$HTTP["host"] =~ "^en\.([^/.]+)\.com$" {
    url.rewrite-once = (
        "^/([^?]*)(\?(.*))?" => "http://%1/$1?language=en&$3"
    )
}
于 2009-12-29T20:36:27.897 回答
3

试试这个

$HTTP["host"] !~ "^(en|fr)\.([^.]+\.com)$ {
    url.rewrite-once = (
      "^/(.*)" => "http://%2/$1&language=%1" 
    )
  }

这应该重写子域。和/或fr。到具有完整 URL 字符串的任何域(包括 TLD),并附加语言参数。

例子:

http://en.example.com            -> http://example.com/&language=en
http://fr.example.com/directory/ -> http://example.com/directory/&language=fr
于 2010-01-04T13:47:37.207 回答
0

尝试关注..如果它适合你..

$HTTP["host"] =~ "^en.([^.]+.com[a-z0-9-]+.php)$" { url.rewrite-once = ("^/(.*) " => "/$1?language=en" ) }

于 2009-12-29T14:07:34.720 回答