Apache .htaccess <ifModule यहाँ अनुमति नहीं है


13

PHP 5.5 के साथ उबंटू सटीक पर अपाचे चल रहा है

मेरे तक पहुँचने की कोशिश var/www/मुझे 500 देती है।

/var/log/apache2/error.log

दिखाता है:

/var/www/web/.htaccess: <IfModule not allowed here

मेरी .htacess है:

DirectoryIndex app.php


<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]

    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule .? - [L]

    RewriteRule .? %{ENV:BASE}/app.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>       
        RedirectMatch 302 ^/$ /app.php/       
    </IfModule>
</IfModule>

मेरी अपाचे में।

<Directory />
AllowOverride ALL
</Directory>

और यह काम करने के बाद मैंने अपाचे को फिर से शुरू किया।

जवाबों:


25

आपको .htaccess फ़ाइल से कॉन्फ़िगरेशन को सक्षम करने के लिए अपनी अपाचे को कॉन्फ़िगर करने की आवश्यकता है। इसलिए निर्देशिका अनुभाग में सुनिश्चित करें कि आपके पास विकल्प है

Allowoverride ALL 

अधिक जानकारी के लिए allowoverride के बारे में अधिक जानकारी ।

अपने सेटअप में यदि आप केवल mod_rewrite का उपयोग करते हैं, तो शायद आप केवल FileInfo को सेट कर सकते हैं, मैं हमेशा SymLinksIfOwnerMatch के लिए अन्य साइटों पर पुनर्निर्देशन करने में सक्षम होने के लिए विकल्प पैरामीटर सेट करता हूं ।

Allowoverride FileInfo 
Options SymLinksIfOwnerMatch

मुझे उम्मीद है कि यह मदद करेगा, यदि आप पहले से ही इस कॉन्फ़िगरेशन को सेट करते हैं, तो कृपया अपने virtualhost कॉन्फ़िगरेशन के साथ जानकारी जोड़ें।


यह अपाचे की एक ताजा स्थापना है। मेरे पास apache2.conf में कोई <डायरेक्टरी /> सेक्शन नहीं है। मैंने अपना अपडेट ऊपर जोड़ा है। धन्यवाद
Kiksy

मैं अपाचे को पुनः आरंभ करना भूल गया। अभी काम कर रही है।
किकी 10

1
मेरे अंत में मेरे पास एक लापता Directoryनिर्देश था। एक बार जोड़ा, यह ठीक से काम किया। मुझे लगता है कि यह अपाचे के संस्करण 2.4 में नया है क्योंकि यह 2.2 के साथ काम करता था ...
एलेक्सिस विल्के

1
हाँ, Apache 2.3.9 में Allowedoverride का डिफ़ॉल्ट मान बदल गया है।
mlissner
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.