2

私の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.combar.domain.comdomain.com

書き換えルールの最初のセットが に送信.../course/xされ.../course/index.php?w=xます。これらはdomain.comwww.domain.comで機能しますが、foo.domain.combar.domain.comの書き換えは機能しません。lighttpd のデバッグ ログを有効にすると、書き換えが行われていないことがわかります。

rewrite-onceロボットのクロールを防止するだけのルールの 2 番目のブロックを無効にするfoo.domain.combar.domain.com、最初の一連の書き換えがすべてのサブドメインで機能します。

url.rewrite-once += (...)適用されるグローバルな書き換えルールの以前のセットがあるため、うまくいくと確信しています。

foo および bar サブドメインにのみ適用されるはずの最後のリライト ワンス ルールのセットが、以前のルールの機能を妨げる理由について何か考えはありますか?

4

1 に答える 1