2009-08-15 43 views
3

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

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

Thx in advice!

答えて

2

http://httpd.apache.org/docs/2.2/mod/mod_include.htmlではmod_includeドキュメントの「エコー要素」の下で見る「エンコーディングが」:

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

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