IIS 7.5で実行されているサイトがあり、そのページはUTF-8でエンコードされています(ASCIIに戻しても、次の問題は発生しないことに注意してください)。ヘッダーとフッターのコンテンツを含むMain.htmlページがあります。これらのファイルがSSIを介して含まれている場合、空白が本文に挿入され、ページのコンテンツが強制的に削除されます。ファイルを組み合わせると、この問題は解消されます。この質問は私のものと同じですが、答えは私にはうまくいきません。
次の4ページを検討してください。
SSI.html:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Humble Site</title>
<!--#include file="SSIIncludes.html" -->
</head>
<body>
<form id="Form1" runat="server" onsubmit="return false;">
<!--#include file="SSIHeader.html" -->
<div>Here's my content</div>
<script type="text/javascript">
//do some work
</script>
<!--#include file="SSIFooter.html" -->
</form>
</body>
</html>
SSIIncludes.html:
<link rel="stylesheet" type="text/css" href="js/jquery.ui.all.css" />
<script type="text/javascript">
var debug = false;
if (debug) {
document.write('<script type="text/javascript" src="js/thirdparty/jquery/core/jquery-1.6.1.js"><\/script>');
document.write('<script type="text/javascript" src="js/thirdparty/jquery/core/jquery-ui-1.8.12/ui/jquery-ui.js"><\/script>');
} else {
document.write('<script type="text/javascript" src="js/thirdparty/jquery/core/jquery-1.6.1.min.js"><\/script>');
document.write('<script type="text/javascript" src="js/thirdparty/jquery/core/jquery-ui-1.8.12/ui/minified/jquery-ui.min.js"><\/script>');
}
</script>
SSIHeader.html:
<div>
<div>
<div>
Something's in a Header!
</div>
SSIFooter.html:
<div>
Have a Footer!
</div>
</div>
</div>
<br />
<br />
<br />
ページを表示すると、最初のdivテキストの直前に(ブラウザーでレンダリングされた)空白の大きなブロックが表示されます。ブラウザ内のソースを調べると、次のことがわかります。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Humble Site</title>
</head>
<body>
""
<link rel="stylesheet" type="text/css" href="js/jquery.ui.all.css">
<script type="text/javascript">
var debug = false;
if (debug) {
document.write('<script type="text/javascript" src="js/thirdparty/jquery/core/jquery-1.6.1.js"><\/script>');
document.write('<script type="text/javascript" src="js/thirdparty/jquery/core/jquery-ui-1.8.12/ui/jquery-ui.js"><\/script>');
} else {
document.write('<script type="text/javascript" src="js/thirdparty/jquery/core/jquery-1.6.1.min.js"><\/script>');
document.write('<script type="text/javascript" src="js/thirdparty/jquery/core/jquery-ui-1.8.12/ui/minified/jquery-ui.min.js"><\/script>');
}
</script>
<script type="text/javascript" src="js/thirdparty/jquery/core/jquery-1.6.1.min.js"></script>
<script type="text/javascript" src="js/thirdparty/jquery/core/jquery-ui-1.8.12/ui/minified/jquery-ui.min.js"></script>
<form id="Form1" runat="server" onsubmit="return false;">
"
"
<div class="OwnerOfAllPlaces">
<div id="OuterPlace" class="OuterPlace">
<div>
Something's in a Header!
</div>
<div>Here's my content</div>
<script type="text/javascript">
//do some work
</script>
"
"
<div>
Have a Footer!
</div>
</div>
</div>
<br>
<br>
<br>
</form>
</body></html>
インクルードポイントでこれらの""""ブロックを取り除くにはどうすればよいですか?