nginx SSI:如何回顯html?

nginx SSI:如何回顯html?

作為一項健全性測試,在 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 echoes 字串時,HTML 標籤將如下進行清理:

&lt;script&gt;ssi_enabled=true&lt;/script&gt;

我在 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" -->

相關內容