IIS の web.config のハンドラ セクションにある scriptProcessor に関して、%s (要求されたファイル名を表しているようです) 以外に % 記号はありますか? たとえば、%aa はマクロ/シンボルとして認識されますか? %s 以外にある場合、どこに記載されていますか?
2 に答える
あなたの質問は少し不明確なので、答えるためにいくつかの仮定をしなければなりませんでした。何か問題がありましたらお知らせください。
ドキュメントから:
スクリプト プロセッサ
オプションの文字列属性。
要求を処理する ISAPI 拡張 .dll ファイルまたは Common Gateway Interface (CGI) .exe ファイルの物理パスを指定します。
scriptProcessor 属性は、スクリプト マップ ハンドラー マッピングにのみ必要です。ハンドラーを ISAPI 拡張にマップする場合、modules 属性に ISAPIModule を指定する必要があります。ハンドラーを CGI ファイルにマップする場合、modules 属性に CGIModule を指定する必要があります。
ドキュメントから、フォーマット文字列についての言及はまったくありません。フォーマット文字列があるとしたら、何に置き換えますか? XML に基づく明確な答えはありません。おそらく、環境変数をフォーマット文字列と間違えているのでしょう。または、特定の構成設定には、ライブにプッシュされる前に実行される後処理があります。
実際に環境変数について話している場合は、Win+Break を発行してシステム設定を表示し、詳細設定に移動してから環境変数を開くことで、それらを表示できます。独自に定義することもできます。%variablename%
標準の .bat ファイルと同じように、任意の環境変数を使用できます。
編集:さらに調査したところ、次のことがわかりました。 %s
スクリプト名が表示され、%s
もう一度パラメータが表示されますfoo=bar
。この機能は、IIS の公式ドキュメントでは宣伝されていません (私が見つけることができます)。非推奨の機能と見なされていることを強く疑っています。そして、彼らは ISAPI を標準にしようと懸命に取り組んでいます。
それがどのように構造化されているか (つまり、標準の書式文字列のように) のため、他の一般的な書式文字列 ( %d %c %f
) を試してみると、興味深い結果が得られるかもしれませんが、おそらくそうではないでしょう。これは、非常に具体的な問題に対する非常に具体的な解決策のようです。