SGK, Debian üzerinde Apache ile çalışmaz


12

Ben .shtmldosyaları ayrıştırılmıyor ancak, SSI Apache çalışan Debian üzerinde çalışmak için çalışıyorum . phpinfo()Ben bir PHP dosyasından yüklenen modüller bölümünde aşağıdaki görebilirsiniz:

mod_mime_xattr mod_mime mod_mime_magic

İçinde /etc/apache2/mods-enabled/mime.conf(diğer şeylerin yanı sıra):

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

In /etc/apache2/sites-enabled/domain.com.conf(Söz konusu sanal konağın) Ben:

<Directory /home/username/public_html>
Options +Includes
allow from all
AllowOverride All 
</Directory>

ve iyi bir ölçü için aşağıdakileri de ekledim:

<Directory />
Options +Includes
</directory>

Kullanıcının .htaccessdosyasında şunu eklemeyi denedim:

Options +Includes
AddType text/html shtml
AddHandler server-parsed shtml

Hiçbir şey işe yaramıyor. Bunu nasıl ayıklayabilirim?

Düzenle:

İşte ls /etc/apache2/mods-enabled/bunun yardımcı olması durumunda çıktı

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

Bir .shtmlsayfayı ziyaret ettiğinizde Apache hata günlüğünde bir şey görüyor musunuz?
Zoredache

Aslında evet. In error.log[error] an unknown filter was not added: includes
Mike

Çizgiyi yorumlamak AddOutputFilter INCLUDES .shtmlhatayı ortadan kaldırır, ancak yine de sorunu çözmez
Mike

Tamam anladım. Başkalarının da aynı sorunları yaşaması durumunda cevabımı göndereceğim.
Mike

Yanıtlar:


12

Sunucu tarafının çalışmasını sağlamak için includemodülün de yüklenmesi gerekir. Bunu root olarak çalıştırarak yapabilirsiniz:

a2enmod include

Veya aşağıdakileri yürütün:

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

Ardından apache'yi yeniden başlatın.

Unutmayın, .shtmldosyalarınıza SSI ekliyorsanız , .htaccessbunu yapardınız AddOutputFilter INCLUDES .shtml. Ya da yerine .shtmlsunucu tarafında ayrıştırmak istediğiniz dosya türü için değiştirin .

Geçerli Debian yapılandırma dosyası /etc/apache2/mods-available/mime.confaşağıdakileri eklediği için bir hata içeriyor:

<IfModule mod_mime.c>
[...]
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
[...]
</IfModule>

mod_include.cönce yüklenip yüklenmediğini kontrol etmeden . Bu sorunu aşmak için, bu satırları şu şekilde değiştirebilirsiniz:

<IfModule mod_mime.c>
[...]
<IfModule mod_include.c>
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>
[...]
</IfModule>

<IfModule>Etiketler iç içe olabilir. Bu, mod_include.cyüklenmemiş durumda karşılaştığınız hata iletilerinden kurtulur .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.