lighttpd 設定ファイルは $HTTP["url"] 条件設定の解析に失敗しますが、他の設定は機能します。

lighttpd 設定ファイルは $HTTP["url"] 条件設定の解析に失敗しますが、他の設定は機能します。

私は、SSL 付きの lighttpd バージョン 1.4.31 を実行しているサーバー上の特定のパスにあるファイルの MIME タイプを設定しようとしています。

私は次の設定ドキュメントに従っています:ドキュメント

を指定する機能は$PHYSICAL["path"]lighttpd バージョン 1.5.0 までは搭載されていないため、 を指定しようとしています$HTTP["url"]

私は両方試しました

$HTTP["url"] == '/my_path/directory_to_affect/foo.html' {
     # my settings are in here  
}

そして

$HTTP["url"] =~ '/my_path/directory_to_affect/*' {
     # my settings are in here  
}

設定ファイルをテストするかlighttpd -D -f lighttpd.conf、lighttpd を再起動しようとすると、次のエラーが発生します。

2015-04-29 14:37:52: (configfile.c.892) source: /etc/lighttpd/lighttpd.conf line: 48 pos: 12 invalid character in variable name 
2015-04-29 14:37:52: (configfile.c.948) configfile parser failed at: ==

=~または、の代わりにと同じエラーが表示されます==

私を混乱させているのは、 where などの他の条件付き構成がすでに存在し$SERVER["socket"] == ":80"、それらの構成が問題なく機能していることです。

答え1

による設定ファイルの構文に関する lighttpd ドキュメント二重引用符のみサポートされ"、 は'サポートされません。

$SERVER["socket"] == ":80"機能しているようで機能$HTTP["url"] == '/my_path/'していないというあなたの観察は、これを裏付けています。

関連情報