2011-10-05 20 views
17

इंडेक्स फ़ाइल मौजूद है और काम करता है। जब मैं केवल लाइन के साथ .htaccess फाइल बनाने के लिए:रिव्राइटइंजिन त्रुटि देता है 403

RewriteEngine On 

सर्वर पर किसी भी पेज मुझे देता है:

पहुंच निषिद्ध!

आपको अनुरोधित ऑब्जेक्ट तक पहुंचने की अनुमति नहीं है। यह या तो सर्वर द्वारा पढ़ा या संरक्षित नहीं है।

यदि आपको लगता है कि यह एक सर्वर त्रुटि है, तो कृपया वेबमास्टर से संपर्क करें। त्रुटि 403 mysite.com बुध अक्टू 5 22:25:25 2011 अपाचे/2.2.3 (लिनक्स/Suse)

कुछ सर्वर जानकारी:

पर लोड किए गए मॉड्यूल कोर prefork http_core mod_so mod_actions mod_alias mod_auth_basic mod_authn_file mod_authz_host mod_authz_groupfile mod_authz_default mod_authz_user mod_authn_dbm mod_autoindex mod_cgi mod_dir mod_env mod_expires mod_include mod_log_config mod_mime mod_negotiation mod_setenvif mod_ssl mod_suexec mod_userdir mod_rewrite mod_php5

अपाचे संस्करण:

SERVER_SOFTWARE अपाचे/2.2.3 (लिनक्स/Suse)

भी ऐसा किया:

Options FollowSymLinks 

निर्देशिका खंड में httpd.conf

लॉग त्रुटि के सिर्फ तथ्य यह है, कारण नहीं कहते हैं:

89.112.xx.x - - [05/Oct/2011:22:32:34 +0200] "GET /info.php HTTP/1.1" 403 1040 "-" "Mozilla/5.0 (Windows NT 6.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1" 
::1 - - [05/Oct/2011:22:32:45 +0200] "GET/HTTP/1.0" 200 1 "-" "Apache/2.2.3 (Linux/SUSE) (internal dummy connection)" 

किसी भी मदद के लिए धन्यवाद!

+0

कृपया नीचे दिए गए लिंक की जांच करें। यह मदद से आप http://stackoverflow.com/questions/22621643/turning-rewriteengine-on-creates-403-error-how-to-turn-on-followsymlinks#answer-22623427 –

उत्तर

2

सबसे संभावित कारण यह है कि आपकी मुख्य conf फ़ाइल में अनुमतियां प्रतिबंधित हैं। क्या आपके पास एक लाइन है:

<Directory /> 
    AllowOverride None 
</Directory> 

आपकी मुख्य conf फ़ाइल में? यह आपको .htaccess फ़ाइल का उपयोग करके मूल रूप से कुछ भी बदलने में सक्षम होने से रोक देगा।

आप अपनी वेबसाइट पर apache permissions के बारे में अधिक जानकारी प्राप्त कर सकते हैं।

+0

हाँ, वहाँ था लाइन "AllowOverride कोई नहीं", मैं हटा दिया है यह, अपाचे को पुनः आरंभ है, लेकिन यह अभी भी मुझे 403 देता है यहाँ वर्तमान निर्देशिका खंड है: विकल्प FollowSymLinks आदेश से इनकार (यहाँ AllowOverride कोई नहीं था), सब से इंकार अनुमति देते हैं Dmitry

+0

AllowOverride लाइन को हटाने के बजाय इसे इच्छित कार्यक्षमता के सभी या उपयुक्त सबसेट में बदलें। [Apache वेबसाइट] (http://httpd.apache.org/docs/1.3/mod/core.html#allowoverride) पर उन विकल्पों पर अधिक जानकारी है –

+0

इसके अलावा, आप यह सुनिश्चित करना चाहते हैं कि आपके पास दूसरा नहीं है निर्देशिका घोषणा जो आपकी conf फ़ाइलों में कहीं ओवरराइड अनुमतियों को सीमित करती है और mod_rewrite एक्सटेंशन सक्षम है। रीराइट इंजन के लिए –

30

प्लेस

Options +SymLinksIfOwnerMatch 

अपनी .htaccess फाइल की पहली पंक्ति के रूप में। यह मेरे लिए समस्या तय है।

+5

'+ FollowSymLinks' आवश्यक है। यदि आप [apache docs] पर प्रति-निर्देशिका रीवाइट्स देखते हैं (http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html) आप इसे देखेंगे। वैकल्पिक रूप से '+ SymLinksIfOwnerMatch' का उपयोग किया जा सकता है, हालांकि मुझे लगता है कि यह सब प्रदर्शन और सुरक्षा के संबंध में आपके अपाचे कॉन्फ़िगरेशन पर निर्भर करता है। – upful

+1

'विकल्प + FollowSymLinks' ने मेरी मदद की। धन्यवाद। –

+3

एक आकर्षण की तरह काम किया ... अगर आप यह भी समझा सकते हैं तो आभारी होंगे। –

1

कोड के ब्लॉक के लिए httpd.conf में जांचें। एक मैक पर डिफ़ॉल्ट रूप से यह बहुत प्रतिबंधित है।

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

कि मदद कर सकता है, या, फाइल अनुमति खुद को हो सकता है: यदि यह केवल स्थानीय है और भी बहुत कुछ करने के लिए आप कोई परवाह नहीं है कि आप इसे की तरह खोल सकते हैं।/Var/log/apache2/error_log और/var/log/apache2/access_log आपको क्या हो रहा है के बारे में कुछ और विवरण दे सकता है।

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