2017-07-31 10 views
0

私はUSBWebServer(Apache、PHP、MySql)を使ってウェブサイトをローカルで開発しており、SSIを使用したかったので、ヘッダーやフッターなどを含めることができました。私の.htaccessでSSIにはサーバではなくローカルで作業することが含まれています

私は、次のディレクティブを入れている:

Options +Includes 

AddType text/html .shtml 
AddOutputFilter INCLUDES .shtml 

私はディレクティブ持っindex.shtmlメインとその中に持っている:

<!--#include virtual="./files/navbar.shtml" --> 
<!--#include virtual="./files/contact.shtml" --> 

をし、それだけで正常に動作します。

ただし、私のウェブサーバーにサイトをアップロードするとき、.htaccess内の同じディレクティブでindex.shtmlに何も含めることはできません。

私の現在の回避策は、index.phpにindex.shtml変更し、PHPが含まれて使用することであるように:

<?php 
virtual('./files/navbar.shtml'); 
?> 

が、私は、サーバー上で期待通りSSIが動作しない理由を知りたいと.shtmlで動作させるにはどうすればいいですか?

答えて

0

あなたのサーバー上のWebサーバーが2.x Apacheであると仮定します。 Include-moduleを有効にする必要があります。あなたは、サーバー上で管理者権限を持っている場合は、root

a2enmod include 

と「サービスのapache2の再起動」または「/etc/init.d/apache2再起動」でWebサービスを再起動するとして実行することにより、それを自分で行うことができます。
管理者またはserverproviderに問い合わせる必要がある場合以外は、 .htaccessの使用方法は、サーバーの設定によって制限される場合があります。allow overideや同様のオプションが設定されているかどうかを確認してください。

関連する問題