Próbuję zmusić SSI do pracy na Debianie z uruchomionym Apache, jednak .shtml
pliki nie są analizowane. Z pliku PHP phpinfo()
widzę, że w sekcji załadowanych modułów pojawiają się następujące elementy:
mod_mime_xattr mod_mime mod_mime_magic
W /etc/apache2/mods-enabled/mime.conf
Mam (między innymi):
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
W /etc/apache2/sites-enabled/domain.com.conf
(dla danego wirtualnego hosta) mam:
<Directory /home/username/public_html>
Options +Includes
allow from all
AllowOverride All
</Directory>
i dla pewności dodałem również:
<Directory />
Options +Includes
</directory>
W .htaccess
pliku użytkownika próbowałem dodać:
Options +Includes
AddType text/html shtml
AddHandler server-parsed shtml
Wydaje się, że nic nie działa. Jak mogę to debugować?
Edytować:
Oto dane wyjściowe ls /etc/apache2/mods-enabled/
na wypadek, gdyby to pomogło
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
apache-2.2
debian
server-side-includes
Mikrofon
źródło
źródło
.shtml
stronę, widzisz coś w dzienniku błędów Apache?[error] an unknown filter was not added: includes
AddOutputFilter INCLUDES .shtml
pozbywa się błędu, ale nadal nie rozwiązuje problemuOdpowiedzi:
Aby serwer działał po stronie serwera,
include
moduł również musi zostać załadowany. Możesz to zrobić, wykonując następujące czynności jako root:Lub wykonaj następujące czynności:
Następnie uruchom ponownie apache.
Uwaga: jeśli dodajesz SSI do
.shtml
plików.htaccess
, zrobiłbyś toAddOutputFilter INCLUDES .shtml
. Lub zastąp.shtml
dowolny typ pliku, który chcesz przeanalizować po stronie serwera.Bieżący plik konfiguracyjny Debiana
/etc/apache2/mods-available/mime.conf
zawiera błąd polegający na tym, że dodaje:bez uprzedniego sprawdzenia, czy
mod_include.c
został załadowany. Aby obejść ten problem, możesz zmienić te linie na:Te
<IfModule>
znaczniki mogą być zagnieżdżane. Spowoduje to pozbycie się komunikatów o błędach, które występują w przypadkumod_include.c
nie załadowania.źródło