2

サーバー側のインクルードを機能させることができません。ある html ファイルを別の html ファイルにインクルードしたいだけで、うまく動作しないようです

設定

サーバーは、Windows XP を実行している別のマシン (localhost ではない) です。Apache/2.2.11 のみを実行している、少し古いバージョンの xampp スタックがあります。

仮想ディレクトリ (httpd-vhosts.conf 内) は次のように構成されます。

<Directory "c:\www\dev1">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

index.html を含む

A Big Block of Text<br />
A Big Block of Text<br />

<!-- #include file="test.shtml" -->

A Big Block of Text<br />
A Big Block of Text<br />

test.shtml が含まれています

This is another line

私が得ているもの

私の開発マシンのブラウザから、 www.dev.com/index.html が表示されます

A Big Block of Text<br />
A Big Block of Text<br />
A Big Block of Text<br />
A Big Block of Text<br />
  • ページ ソースは、インクルード ファイルが処理されていないことを意味する !--- インクルードを示しています
  • www.dev.com/test.shtml は、上記のようにファイルを表示するので、アクセス可能です。

私が試したこと

ここstackoverflowとインターネットの両方で一連の投稿を読み、これを機能させるための基本を「構築」するのに役立ちました(つまり、オプションでインクルードが有効になっていることを確認してください)が、まだ機能していません。

かわった

Options Indexes FollowSymLinks Includes ExecCGI to
Options Indexes FollowSymLinks Includes +Include ExecCGI to
Options Indexes FollowSymLinks +Includes ExecCGI

Apacheを再起動しても、まだ機能しません

index.html と test.shtml と同じディレクトリに .htaccess を追加

Options Indexes FollowSymLinks Includes ExecCGI 
AddType text/html .shtml
AddHandler server-parsed .shtml

それでもうまくいきません。

ノート。http.conf はすでに

AddType text/html .shtml
AddHandler server-parsed .shtml

有効にします。

はい、それはおそらく本当に明白なことですが、私は風邪をひいているので、誰かが私を正しい方向に向けることができれば、それは大歓迎です.

私が試したその他のこと

仮想を含めるようにインクルード ファイルを変更する

RichieHindle の提案を試してみましたが、うまくいかないようでした。.htaccess と仮想ディレクトリの構成の両方を変更して、.html と .shtml の両方に必要な AddType、AddHandler の組み合わせを含めました...まだ何もありません

大きな注意: Web サーバーでは、(xampp インストール ディレクトリの 1 つにある localhost を介して) SSI チェック Web ページを読み込むことができ、SSI インクルードが有効で機能していることがわかりますが、私の仮想ディレクトリは xampp にないことに注意してください。ディレクトリをインストールします。それらは c:/www の下でスタンドアロンです...しかし、仮想ディレクトリ設定および/または.htaccess設定で上記のオプションを構成した場合、これがどのように/なぜ違いを生むのかわかりません

4

3 に答える 3

6

必要ですか:

AddHandler server-parsed .html

?

あなたの HTML ファイルは index.html という名前ですが、あなたはserver-parsed. s html ファイル。

于 2009-09-28T21:13:52.443 に答える
3

たぶんスペースを削除してみてください?から:

<!-- #include file="test.shtml" -->

これに:

<!--#include file="test.shtml" -->
于 2009-09-29T01:01:25.810 に答える
0

別のhtmlファイルにhtmlを含めることになると、ALOTを検索して試しました。.asp、.php、.xhtml は使いたくありませんでした。

これは私にとってはうまくいきました:HTMLファイルに別のHTMLファイルを含める

于 2015-08-15T11:46:01.587 に答える