OpenBGP httpd.conf

OpenBGP httpd.conf

OpenBSDを使用してhttpリクエストを特定のページにリダイレクトする方法は次のとおりです。たとえば、OpenBGPdを次のようにhttpd提供します。bgplghttpd.conf

ext_addr="127.0.0.1"

server "www.example.conf" {
listen on $ext_addr port 80
        location "/cgi-bin/*" {
                fastcgi
                root ""
        }
}

www.example.com/cgi-bin/bgplgを正確に入力せずにwww.example.comをwww.example.com/cgi-bin/bgplgにリダイレクトする方法

いくつかのオプションを試しましたが、何も機能しないようです。ありがとう

ベストアンサー1

単純なリダイレクトを使用するには、block return特定の/位置ブロックが必要です。それ以外の場合は無限に繰り返されます。(位置ブロックには/ワイルドカードがないため、資産を迂回できます。)

server "www.example.conf" {
    listen on $ext_addr port 80
        location "/cgi-bin/*" {
                fastcgi
                root ""
        }

        location "/" {
                # 302 (Temporary) while testing
                # 301 (Permanent) when you're done & sure
                block return 302 "/cgi-bin/bgplg"
        }
}

今では一般的に動作する別のトリックがあります。rootこれを fastcgi に変数として渡し、DOCUMENT_ROOT存在する場合に実行します。

副作用は、httpdがSCRIPT_NAMEbgplgに必要なものを設定しないため、機能しないことです。しかし、それに依存しない、またはそれを適切に処理する他のスクリプトもうまく機能します(/スタンドアロンで処理することも、パターンマッチングに拡張したり、包括的/*に処理したりすることもできます。)

location "/" {
        fastcgi
        root "/cgi-bin/somescript"
}

おすすめ記事