作為一項健全性測試,在 HTML 頁面的開頭,我嘗試執行一個非常簡單的 SSIecho
來向瀏覽器指示 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 文件中找不到任何指示如何echo
原始 HTML 的內容。
是的,我知道我可以導入 html 文件,但試圖避免它,因為這會增加更多的複雜性。似乎可以這樣做,但我只是缺少正確的參數echo
。
謝謝
答案1
nginxencoding
此指令有一個參數echo
(參見支援的命令),它決定如何轉義文本。它可以有三個值沒有任何(這就是您正在尋找的),網址和預設值實體。比較結果:
<!--#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" -->