web-dev-qa-db-ja.com

LocationMatch正規表現が機能しているかどうかを確認するにはどうすればよいですか?

場所一致の正規表現があります

ScriptAlias /script /var/www/somescript.bash
Action some-handler /script virtual
<LocationMatch "/(?:\w+:)?\/\/[^\/]+([^?#]+)/">
    SetHandler some-handler
</LocationMatch>

ここで、その正規表現をテストすると、 https://regex101.com/r/lO0aV1/1 の場所が一致していることがわかりますが、somescript.bashは実行されません。

ちなみにmod_actionsはオンです。

エラーログには何も表示されません。アクセスログで404を得ました。

この正規表現が機能していることを確認するにはどうすればよいですか?とにかくそれを記録できることはありますか?

3
pregmatch

CustomLogを作成します。例:

CustomLog "/var/log/httpd/mylog.log" "%h %l %u %t \"%r\" %>s %b what:%{INDICATOR_VAR}e"

そして、SetEnvを使用してINDICATOR_VARを設定します。

<LocationMatch ...>
    SetEnv INDICATOR_VAR "OK"
</LocationMatch>
3
Ivan Voras

LocationMatchが機能することを確認する最も簡単な方法は、簡単なmod_headersディレクティブをその中に置き、テストクライアントで応答ヘッダーをダンプすることです。例えばHeader set X-DEBUG foo

2
covener