J'essaie de faire fonctionner SSI sur Debian exécutant Apache, mais les .shtml
fichiers ne sont pas analysés. À partir d'un fichier PHP avec phpinfo()
je peux voir que les éléments suivants apparaissent dans la section des modules chargés:
mod_mime_xattr mod_mime mod_mime_magic
Dans /etc/apache2/mods-enabled/mime.conf
j'ai (entre autres):
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
Dans /etc/apache2/sites-enabled/domain.com.conf
(pour l'hôte virtuel en question) j'ai:
<Directory /home/username/public_html>
Options +Includes
allow from all
AllowOverride All
</Directory>
et pour faire bonne mesure, j'ai également ajouté ce qui suit:
<Directory />
Options +Includes
</directory>
Dans le .htaccess
fichier de l'utilisateur , j'ai essayé d'ajouter:
Options +Includes
AddType text/html shtml
AddHandler server-parsed shtml
Rien ne semble fonctionner. Comment puis-je même déboguer cela?
Éditer:
Voici la sortie de ls /etc/apache2/mods-enabled/
si cela aide
actions.conf dav_svn.load proxy_balancer.load
actions.load deflate.conf proxy.conf
alias.conf deflate.load proxy_connect.load
alias.load dir.conf proxy_http.load
auth_basic.load dir.load proxy.load
auth_digest.load env.load python.load
authn_file.load fcgid.conf reqtimeout.conf
authz_default.load fcgid.load reqtimeout.load
authz_groupfile.load mime.conf rewrite.load
authz_host.load mime.load ruby.load
authz_user.load mime_magic.conf setenvif.conf
autoindex.conf mime_magic.load setenvif.load
autoindex.load mime-xattr.load ssl.conf
cgi.load negotiation.conf ssl.load
dav_fs.conf negotiation.load status.conf
dav_fs.load php5.conf status.load
dav.load php5.load suexec.load
dav_svn.conf proxy_balancer.conf
.shtml
page, voyez-vous quelque chose dans le journal des erreurs Apache?[error] an unknown filter was not added: includes
AddOutputFilter INCLUDES .shtml
supprime l'erreur, mais ne résout toujours pas le problèmeRéponses:
Pour que les inclusions côté serveur fonctionnent, le
include
module doit également être chargé. Vous pouvez le faire en exécutant ce qui suit en tant que root:Ou exécutez ce qui suit:
Redémarrez ensuite apache.
Notez que si vous ajoutiez SSI aux
.shtml
fichiers,.htaccess
vous le feriezAddOutputFilter INCLUDES .shtml
. Ou remplacez.shtml
le type de fichier que vous souhaitez analyser par les inclusions côté serveur.Le fichier de configuration Debian actuel
/etc/apache2/mods-available/mime.conf
contient une erreur en ce qu'il ajoute ce qui suit:sans d'abord vérifier s'il
mod_include.c
a été chargé. Pour contourner ce problème, vous pouvez modifier ces lignes en:Les
<IfModule>
balises peuvent être imbriquées. Cela supprimera les messages d'erreur que vous rencontrez si l'événementmod_include.c
n'est pas chargé.la source