SSI में अपाचे के साथ डेबियन पर काम नहीं करना शामिल है


12

मैं कोशिश कर रहा हूं कि डेबियन अपाचे पर काम करने के लिए एसएसआई मिल जाए, हालांकि .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

जब आप किसी .shtmlपृष्ठ पर जाते हैं तो क्या आप अपाचे त्रुटि लॉग में कुछ भी देखते हैं?
ज़ोर्डैच

वास्तव में हाँ। एरर.लॉग में[error] an unknown filter was not added: includes
माइक

लाइन AddOutputFilter INCLUDES .shtmlको टिप्पणी करने से त्रुटि से छुटकारा मिल जाता है, लेकिन फिर भी समस्या हल नहीं होती है
माइक

ठीक है, मैंने पता लगा लिया। मैं अपना जवाब उस स्थिति में दूंगा जब दूसरों को वही समस्याएं हो रही हों।
माइक

जवाबों:


12

सर्वर साइड को काम करने के लिए शामिल करने के लिए, includeमॉड्यूल को भी लोड करना होगा। आप निम्नलिखित को रूट के रूप में निष्पादित करके ऐसा कर सकते हैं:

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

फिर अपाचे को पुनरारंभ करें।

ध्यान दें, यदि आप SSI को उन .shtmlफ़ाइलों से जोड़ रहे हैं जो .htaccessआप करेंगे AddOutputFilter INCLUDES .shtml। या .shtmlजो भी फ़ाइल प्रकार आप सर्वर साइड से पार्स किया जाना चाहते हैं उसके लिए विकल्प शामिल हैं।

वर्तमान डेबियन कॉन्फिग फ़ाइल /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लोड नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.