SSI включает в себя не работать на Debian с Apache
Я пытаюсь заставить SSI работать на Debian под управлением Apache, однако .shtml
файлы не анализируются. Из файла PHP с phpinfo()
Я вижу, что в разделе загруженных модулей отображается следующее:
mod_mime_xattr mod_mime mod_mime_magic
В /etc/apache2/mods-enabled/mime.conf
Я имею (среди прочего):
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
В /etc/apache2/sites-enabled/domain.com.conf
(для рассматриваемого виртуального хоста):
<Directory /home/username/public_html>
Options +Includes
allow from all
AllowOverride All
</Directory>
и для хорошей меры я добавил следующее:
<Directory />
Options +Includes
</directory>
В пользовательском .htaccess
файл, я попытался добавить:
Options +Includes
AddType text/html shtml
AddHandler server-parsed shtml
Ничто не похоже на работу. Как я могу даже отладить это?
Редактировать:
Вот вывод ls /etc/apache2/mods-enabled/
на случай, если это поможет
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
1 ответ
Чтобы заставить серверную часть работать, include
Модуль также должен быть загружен. Вы можете сделать это, выполнив следующее от имени пользователя root:
a2enmod include
Или выполните следующее:
ln -s /etc/apache2/mods-available/include.conf /etc/apache2/mods-enabled/include.conf
ln -s /etc/apache2/mods-available/include.load /etc/apache2/mods-enabled/include.load
Затем перезапустите Apache.
Обратите внимание, если вы добавляете SSI в .shtml
файлы из .htaccess
ты бы сделал AddOutputFilter INCLUDES .shtml
, Или заменить .shtml
для любого типа файла, который вы хотите проанализировать на стороне сервера, включает.
Текущий файл конфигурации Debian /etc/apache2/mods-available/mime.conf
содержит ошибку в том, что добавляет следующее:
<IfModule mod_mime.c>
[...]
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
[...]
</IfModule>
без предварительной проверки mod_include.c
был загружен. Чтобы обойти это, вы можете изменить эти строки на:
<IfModule mod_mime.c>
[...]
<IfModule mod_include.c>
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</IfModule>
[...]
</IfModule>
<IfModule>
теги могут быть вложенными. Это избавит от сообщений об ошибках, которые вы испытываете в случае, если mod_include.c
не загружен