私のlighttpd.confで:
$HTTP["host"] =~ "^(www\.|foo\.|bar\.)?domain\.com$" {
url.rewrite-once += (
"^/favicon.ico$" => "/images/favicon_cd.ico",
"^/course/?$" => "/course/index.php",
"^/course/([^./]+)$" => "/course/index.php?w=$1"
)
}
...
# don't allow spiders to crawl subdomains
$HTTP["host"] =~ "^(foo\.|bar\.)?domain\.com$" {
url.rewrite-once += (
"^/robots.txt$" => "/robots_nocrawl.txt"
)
}
私たちは、特定のクライアントとwww.domain.com
同様に持っています。そしてプレーンも機能するはずです。foo.domain.com
bar.domain.com
domain.com
書き換えルールの最初のセットが に送信.../course/x
され.../course/index.php?w=x
ます。これらはdomain.com
とwww.domain.com
で機能しますが、foo.domain.com
とbar.domain.com
の書き換えは機能しません。lighttpd のデバッグ ログを有効にすると、書き換えが行われていないことがわかります。
rewrite-once
ロボットのクロールを防止するだけのルールの 2 番目のブロックを無効にするfoo.domain.com
とbar.domain.com
、最初の一連の書き換えがすべてのサブドメインで機能します。
url.rewrite-once += (...)
適用されるグローバルな書き換えルールの以前のセットがあるため、うまくいくと確信しています。
foo および bar サブドメインにのみ適用されるはずの最後のリライト ワンス ルールのセットが、以前のルールの機能を妨げる理由について何か考えはありますか?