0

Apacheログに次のエラーメッセージが表示されました。

unable to include potential exec "header.html" in parsed file /Users/sikusiku/Sites/ss-git/homepage.shtml

私は基本的にhomepage.shtmlからheader.htmlを含めようとしました。私はhomepage.htmlで非常に基本的なディレクティブを使用しました( header.htmlhomepage.shtmlの両方がドキュメントルートにあります):

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

httpd.confでSSIを適切にオンにしたと思います:

Options Indexes FollowSymLinks ExecCGI Includes
...
AddType text/html .shtml
...
# XBitHack doesn't have anything to do with this, but I added it anyway.
XBitHack on

私は何かを逃しましたか?含まれているファイル、つまりheader.htmlを別の方法で構成する必要がありますか?

4

1 に答える 1

1

Apache2を使用したubuntuサーバー11.10でこの問題を自分で修正しました。

私の /etc/apache2/sites-available/default ファイル:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

</VirtualHost>

/var/www ディレクトリ ディレクティブで、AllowOverride None を All に変更しました。

/var/www/.htaccess の .htaccess ファイル:

Options +Includes
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

最後に、include.load が mods-enabled フォルダーにあることを確認しました。これは mod_includes.so モジュールをロードするためです。

sudo ln -s /etc/apache2/mods-available/include.load /etc/apache2/mods-enabled/include.load

これにより、mods-available の include.load へのシンボリック リンクが作成されます。

最後にApacheを再起動します

sudo service apache2 restart

それは私にとってはうまくいきました。あなたもうまくいくことを願っています。

-- トーマス

于 2012-02-07T20:05:40.863 に答える