Archive

Posts Tagged ‘regex’

lighttpd でピリオドを含まない(拡張子無し)URL と特定拡張子の指定方法

ディレクトリや拡張子なしの URL と PHP だけバックエンドに送りたかったので正規表現でカリカリと。

最近は色んなソフトに PCRE が採用されていて便利ですね。

$HTTP["url"] =~ "/([^/.]*(\?|$))|\.php(\?|$)" {
    proxy.balance = "hash"
    proxy.server  = ( "" => ( ( "host" => "localhost", "port" => 8080) ) )
}

ちなみに、静的ファイルだけ ligttpd に処理させたいときは以下です。

$HTTP["url"] =~ “/[^/.]*(\?|$)” {

この書き方は、baz.png?foo=bar などと、クエリ付きのリクエストにも対応しています。