健全性テストとして、HTML ページの先頭で、echo
SSI が動作していることをブラウザーに示す非常に単純な SSI を実行しようとしています。
インデックス.html:
<script>var ssi_enabled = false</script>
<!--# set var="test" value="<script>ssi_enabled=true</script>" -->
<!--# echo var="test" -->
その後JSで:
if (!ssi_enabled) { console.log("SSI is not enabled!"); }
しかし、nginx がecho
文字列を es すると、HTML タグは次のようにサニタイズされます。
<script>ssi_enabled=true</script>
nginx のドキュメントには、生の HTML を作成する方法を示すものが見つかりませんecho
。
はい、HTML ファイルをインポートできることはわかっていますが、複雑さが増すため、それを避けようとしていました。これは実行できそうですが、 の正しいパラメータが不足しているだけですecho
。
ありがとう
答え1
nginxencoding
コマンドにパラメータがありますecho
(cf.サポートされているコマンド)は、テキストをどのようにエスケープするかを決定します。3つの値を取ることができます。なし(それがあなたが探しているものです)、URLそしてデフォルト実在物次の結果を比較します。
<!--#set var="GREETING" value="<h1><strong>Hello <em>&World</em></strong></h1><p>àäáąåǎâ</p>" -->
<!--#echo var="GREETING" encoding="none" -->
<!--#echo var="GREETING" encoding="url" -->
<!--#echo var="GREETING" encoding="entity" -->