2013-11-22 9 views
5

मैं अपने Mac पर (OSX 10.9) एक सर्वर की स्थापना की है, लेकिन यह त्रुटि लॉग में निम्न संदेश के साथ एक 500 त्रुटि लौट रहा है ...500 त्रुटि - "AllowOverride यहाँ अनुमति नहीं"

[alert] [client ::1] /Users/user/Sites/mysite/.htaccess: AllowOverride not allowed here 

यहाँ मेरी .htaccess फाइल

Options +FollowSymLinks -MultiViews 
AllowOverride All 

# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteMap lc int:toLower 
RewriteCond %{REQUEST_URI} [A-Z] 
RewriteRule (.*) ${lc:$1} [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^i/(.*)/(.*)-(.*)$ /items/?id=$1&range=$2&type=$3 [L,QSA,NC] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^c/(.*)$ /category/?menu=$1 [L,QSA,NC] 

में कोड है और यहाँ प्रासंगिक httpd.conf कोड है (मुझे पता है कि मदद मिलेगी और कुछ है कि अगर)

DocumentRoot "/Users/user/Sites/mysite" 

<Directory /> 
    Options FollowSymLinks 
    AllowOverride All 
    Order deny,allow 
    Deny from all 
</Directory> 

<Directory "/Users/user/Sites/mysite"> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
</Directory> 

कोई विचार?

+2

अपनी '.htaccess' फ़ाइल से' AllowOverride' निर्देश 'ले लो। इसकी अनुमति केवल ' 'अनुभाग –

उत्तर

9

AllowOverride All htaccess फ़ाइल में नहीं है। सर्वर कॉन्फ़िगरेशन (httpd.conf) में यह सेट करने के लिए उपयोग किया जाता है कि सर्वर कॉन्फ़िगरेशन पैरामीटर एक htaccess फ़ाइल ओवरराइड कर सकता है। तो जाहिर है, यह कॉन्फ़िगर करने में सक्षम होना गलत होगा कि htaccess फ़ाइलों के भीतर htaccess फ़ाइलें किस पैरामीटर को ओवरराइड कर सकती हैं।

इसे अपनी htaccess फ़ाइल से हटा दें। आपने अपने httpd.conf में सही स्थानों पर AllowOverride All को पहले ही परिभाषित कर दिया है।

+0

बहुत बढ़िया है! धन्यवाद। अब मुझे रिवाइटमैप लाइन के बारे में एक ही संदेश मिल रहा है। मैं इसे कहां ले जाऊंगा? – Tom

+1

@ टॉम रीवाइटमैप्स को htaccess फ़ाइलों में परिभाषित नहीं किया जा सकता है (लेकिन आप * उन्हें * htacces फ़ाइल में * उपयोग कर सकते हैं)। आपको httpd.conf में उनको परिभाषित करने की आवश्यकता है, लेकिन ** 'कंटेनर ** के बाहर **। –

0

अपने सभी .htaccess से बाहर की अनुमति दें।

2

अनुमति ओवरराइड नियंत्रण। Htaccess-security और -behourour और .htaccess फ़ाइलों के अंदर सेट नहीं किया जा सका।

.htaccess से "सभी को ओवरराइड करें" ड्रॉप करें, यह सब कुछ है।

संबंधित मुद्दे