我想重定向以:
开头的地址en.example.com/somefile.php
为:
example.com/somefile.php?language=en
在lighttpd中使用mod_rewrite模块。到现在为止我得到了这个:
$HTTP["host"] =~ "^en\.(.*)\.com$" {
url.rewrite-once = (
"^/(.*)"
=>
"/$1?language=en"
)
}
但这似乎不起作用。如何使这项工作?
答案 0 :(得分:6)
试试这个:
$HTTP["host"] =~ "^en\.([^/.]+)\.com$" {
url.rewrite-once = (
"^/([^?]*)(\?(.*))?" => "http://%1/$1?language=en&$3"
)
}
答案 1 :(得分:3)
试试这个
$HTTP["host"] !~ "^(en|fr)\.([^.]+\.com)$ {
url.rewrite-once = (
"^/(.*)" => "http://%2/$1&language=%1"
)
}
这应该重写子域en。和/或fr。对于URL字符串完整的任何域(包括TLD),并附加语言参数。
示例:
http://en.example.com -> http://example.com/&language=en
http://fr.example.com/directory/ -> http://example.com/directory/&language=fr
答案 2 :(得分:0)
试试以下..如果它对您有用..
$ HTTP [“host”] =〜“^ en。([^。] +。com [a-z0-9 - ] + .php)$”{ url.rewrite-once =( “^ /(。*)” => “/ $ 1吗?语言= EN” ) }