dポイントプレゼントキャンペーン実施中!

以前tableレイアウトとSSIで作成されたページをCSSレイアウトに変更することになりコーディングしたのですが、ローカル環境では正しく表示されるのですが、いざ本番環境で見てみると、大幅なズレが出ました。
原因を調べるためFirefoxのアドオン"Firebug"でソースを確認したところ、本来表示されるべきソースが抜けてしまっていました。

本来であれば↓
<div id="Box">
<div class="a">
<div id="b">●●</div>
<div id="c">●●</div>
<div id="d"><!--#include virtual="index.html" --></div>
<div id="e">●●</div>
</div><!--a End-->

<div class="a">
<div id="f">●●</div>
<div id="g">●●</div>
<div id="h"><!--#include virtual="index.html" --></div>
<div id="i">●●</div>
</div><!--a End-->
<br class="floatcrea" />
</div><!--Box End-->
と表示させたいのですが、
実際表示されるのは↓
<div id="Box">
<div class="a">
[an error occurred while processing this directive]
</div><!--Box End-->
<div id="e">●●</div>
</div><!--a End-->

<div class="a">
<div id="f">●●</div>
<div id="g">●●</div>
<div id="h"><!--#include virtual="index.html" --></div>
<div id="i">●●</div>
</div><!--a End-->
<br class="floatcrea" />

と出て表示されてしまいます。
[an error occurred while processing this directive] のSSIエラーが出て”</div><!--Box End-->”が移動しています。原因はなんなんでしょうか?教えてください。
・使用ソフトDWcs3
・<div class="a">はfloat:left;
・サーバーはSSI利用可
・ファイル拡張子は".shtml"を利用

A 回答 (3件)

>テーブルレイアウト時、正常に動いていたものをそのまま使用


変更した部分のHTMLコメントにSSI構文に解釈されそうなコメント・・・
<!--#・・・-->とかが混じっていませんか?

それもなく、読み込む側の構文、読み込むファイルには実績があり変更が一切ないという事なら、
とりあえずサーバ管理者になにか変更がなかったか確認してみるかなぁ。

SSIの処理ではSSI構文しか処理しませんから周りがtableからdivに変更があっても行われる処理には一切変わりがないので環境を疑うしかないです。

何かヒントがあればいいのですが。
http://www.google.co.jp/search?q=an+error+occurr …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

>変更した部分のHTMLコメントにSSI構文に解釈されそうなコメント・・・
><!--#・・・-->とかが混じっていませんか?

cs3の新規ドキュメント、レイアウトを使用しページを作成した際、idの終了</div>の後にコメントアウトで<!--#head End-->が記述されていました。
"#"を削除したところ、正確に表示されました。
結局<!--#・・・-->のうしろから<!--#include virtual="index.html" -->
の間のソースが抜けていました。

皆様丁寧な回答本当にありがとうございました。
そしてsteel_grayさん、ありがとうございました。

お礼日時:2009/07/08 20:37

> ローカルでは動く



サーバのSSIの仕様と
あなたのファイルの記述が
マッチングしていないんだと思うわ。
サーバのSSIの仕様を確認してみて。

include virtualは/から指定してみるとか、ね。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
サーバーの仕様とファイルの記述はテーブルレイアウト時と同じですので、正常に動いていたものです。

>include virtualは/から指定してみるとか、ね。
ちなみにincludeするファイルは同階層に置いてあります。
ためしに<!--#include virtual="./index.html" -->と記述しましたが駄目でした...

お礼日時:2009/07/08 18:44

<!--#include virtual="index.html" -->


がエラーになってるだけでしょう。(パス間違い、ファイルがない、ファイル読み込みのエラーetc..)

SSIってのはサーバ側で処理されブラウザに渡ってくるのでアドオンなど使わなくても、普通のブラウザのソース表示で期待しているように中身が埋め込まれていれば正常、[an error occurred ~が埋め込まれてきたならSSI構文実行エラーです。

http://www.tohoho-web.com/wwwssi.htm#Include
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
><!--#include virtual="index.html" -->
>がエラーになってるだけでしょう。(パス間違い、ファイルがない、
>ファイル読み込みのエラーetc..)

テーブルレイアウト時、正常に動いていたものをそのまま使用していますので、パス間違い、ファイルがないは考えにくいかと思います。
リンク先に記述してありました<!--#include file="~" -->に変更してアップしても結果は同じでした。

ためしに<!--#include virtual="index.html" -->を記述してある.shtmlファイルの拡張子を.htmlに変更し<!--#include virtual="index.html" -->を削除してアップすると正しく表示されます。

お礼日時:2009/07/08 18:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!