3

SSI ディレクティブを使用する場合、HTML エンティティで変数をエスケープする方法はありますか?

<META HTTP-EQUIV="Refresh" CONTENT="10; URL="/index.shtml?r=<!--#echo var="HTTP_REFERER" -->">

アドバイスありがとうございます!

4

1 に答える 1

2

http://httpd.apache.org/docs/2.2/mod/mod_include.htmlにある mod_include ドキュメントの「The echo Element」の下の「encoding」を参照してください。

Apache が変数に含まれる特殊文字を出力する前にエンコードする方法を指定します。none に設定すると、エンコードは行われません。url に設定すると、URL エンコーディング (% エンコーディングとも呼ばれます。これは、リンクなどの URL 内での使用に適しています) が実行されます。echo 要素の開始時に、デフォルトはエンティティに設定され、結果としてエンティティ エンコーディングが行われます (これは、テキストの段落など、ブロック レベルの HTML 要素のコンテキストで適切です)。これは、encoding 属性を追加することで変更できます。この属性は、次の encoding 属性が検出されるか、要素が終了するまで有効です。

encoding 属性を有効にするには、対応する var 属性より前に指定する必要があり、ISO-8859-1 文字エンコーディングで定義されている特殊文字のみがエンコードされます。異なる文字エンコーディングが使用されている場合、このエンコーディング プロセスでは、目的の結果が得られない場合があります。

于 2011-06-09T09:05:46.953 に答える