AllowOverride को कैसे सेट करें


161

मैं सेट करना चाहता हूं AllowOverride allलेकिन मुझे नहीं पता कि यह कैसे करना है। मैंने निम्न कोड को गूगल पर खोज कर उसमें पास्ट किया है .htaccess:

<Directory>
        AllowOverride All
</Directory>

लेकिन इसे चिपकाने के बाद मुझे मिलना शुरू हुआ "Internal Server Error"

क्या कोई मुझे बता सकता है कि यह कोड कहां रखा जाए या कैसे किया जाए?


3
<Directory>निर्देश एक रास्ता तर्क की आवश्यकता है।
FKEinternet

जवाबों:


317

यदि आप उबंटू में हैं, तो फ़ाइल को संपादित करें /etc/apache2/apache2.conf(यहाँ हमारे पास एक उदाहरण है /var/www):

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

और इसे बदल दें;

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

फिर,

sudo service apache2 restart

आपको sudo a2enmod rewriteमॉड्यूल को फिर से लिखने में सक्षम करने के लिए भी आवश्यकता हो सकती है


55
मुझे भी इस्तेमाल करने की जरूरत थी sudo a2enmod rewrite, तब इसने काम किया। उबंटू 14.04 एलटीएस पर। आशा है कि यह किसी एक के लिए उपयोगी होगा।
जौनुज

2
अजीब ... जब मैं ऐसा करता हूं तो मुझे आंतरिक सर्वर त्रुटि मिलती है। क्या यह /var/www/.htaccess पर स्थित .htaccess फ़ाइल में त्रुटि का संकेत देता है? Apache2 को चालू करते हुए, AllowOverride पर वापस जाएं कोई भी त्रुटि को ठीक नहीं करता है, लेकिन URL को फिर से लिखने की अनुमति नहीं देता है।
o_O

उबुन्टु 12.04 में। मुझे यह फ़ाइल / etc / apache2 /
sites-

मैं इसे एक अलग फाइल से कैसे ओवरराइड कर सकता हूं? मैं देख सकता हूं कि IncludeOptional conf-enabled/*.confमेरी apache2.confफाइल की अंतिम पंक्ति में एक है । लेकिन ऐसा लगता है कि apache2.confइसके बजाय प्राथमिकता दी जाती है।
जॉनीक्यू

यह मेरे लिए जादू करता है। मेरी कंपनी डेबियन सर्वर को मट्ठे से लेकर जेसी तक अपडेट करने के बाद, अपाचे में सब कुछ काम करना बंद कर दिया और इसे जोड़ने के बाद, सब कुछ फिर से काम करना शुरू कर दिया।
पेरिकेटेना

51

का मुख्य लक्ष्य AllowOverrideअपाचे के मुख्य विन्यास फाइल के प्रबंधक के लिए है (एक में पाया / etc / apache2 / मुख्य रूप से) तय करने के विन्यास का कौन सा हिस्सा गतिशील अनुप्रयोगों के द्वारा एक प्रति पथ के आधार पर बदला जा सकता है।

यदि आप सर्वर के प्रशासक नहीं हैं, तो आप AllowOverride Level पर निर्भर करते हैं, जो आपके लिए प्रवेश की अनुमति देता है। ताकि वे आपको कुछ महत्वपूर्ण सुरक्षा सेटिंग्स को बदलने से रोक सकें;

यदि आप मास्टर अपाचे कॉन्फ़िगरेशन प्रबंधक AllowOverride Noneहैं, तो आपको Directoryमुख्य कॉन्फ़िगरेशन फ़ाइलों पर अनुभागों पर .htaccess फ़ाइलों के आधार पर, सभी google_based उदाहरण का उपयोग और हस्तांतरण करना चाहिए । एक .htaccessफ़ाइल के लिए .htaccess सामग्री /my/path/to/a/directoryएक <Directory /my/path/to/a/directory>निर्देश के समान है , सिवाय इसके कि .htaccessगतिशील प्रति-HTTP-request कॉन्फ़िगरेशन परिवर्तन आपके वेब सर्वर को धीमा कर रहा है। हमेशा .htaccessचेक के बिना एक स्थिर कॉन्फ़िगरेशन पसंद करें (और आप .htaccessपरिवर्तनों से सुरक्षा हमलों से भी बचेंगे)।

अपने उदाहरण आप उपयोग में वैसे <Directory>और यह गलत हमेशा हो जाएगा, निर्देशिका निर्देश हमेशा एक पथ युक्त कर रहे हैं, की तरह <Directory />या <Directory C:>या <Directory /my/path/to/a/directory>। और निश्चित रूप से यह एक में नहीं रखा जा सकता .htaccessके रूप में एक .htaccessएक निर्देशिका निर्देश के समान है, लेकिन इस निर्देशिका में एक फ़ाइल वर्तमान में है। बेशक आप इस निर्देश AllowOverrideमें परिवर्तन नहीं कर सकते .htaccessक्योंकि यह निर्देश फाइलों के सुरक्षा स्तर का प्रबंधन .htaccessकर रहा है।


17

गोटो नोटपैड में your_severpath/apache_ver/conf/ फ़ाइल खोलें httpd.conf

इस लाइन का पता लगाएं:

#LadModule vhost_alias_module मॉड्यूल / mod_vhost_alias.so

हैश प्रतीक निकालें:

LoadModule vhost_alias_module मॉड्यूल / mod_vhost_alias.so

फिर जाएं <Directory />

और इसमें परिवर्तन करें:

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

फिर अपने स्थानीय सर्वर को पुनरारंभ करें।


काम हो गया! टाइ सर!
जेम्स वॉकर

6
एनबी Order allow,denyऔर Allow from allअपाचे 2.2 और पहले के लिए हैं। अपाचे 2.4 के साथ, उन दो पंक्तियों को बदल दिया जाता है Require all grantedजैसा कि अन्य उत्तरों में दिखाया गया है।
FKEinternet

13

लिनक्स पर, डॉक्यूमेंट रूट तक पहुँच को कम करने के लिए, आपको निम्न फ़ाइल को संपादित करना चाहिए:

/etc/httpd/conf/httpd.conf

और किस निर्देशिका स्तर के आधार पर आप आराम करना चाहते हैं, इसके लिए आपको निर्देश बदलना होगा

AllowOverride None

सेवा

AllowOverride All

इसलिए, यह मानते हुए कि आप / var / www / html निर्देशिका पर फ़ाइलों तक पहुँच की अनुमति देना चाहते हैं, आपको निम्न पंक्तियों को निम्न से बदलना चाहिए:

<Directory "/var/www/html">
 AllowOverride None
</Directory>

सेवा

<Directory "/var/www/html">
 AllowOverride All
</Directory>

8
और सर्वर को फिर से शुरू करें
डैनियल

मेरे .htacces को दोगुना करने के सौ बार के बाद - यह समाधान था! आपका बहुत बहुत धन्यवाद। मैंने सोचा, "सभी" अपाचे कॉन्फ़िगरेशन का डिफ़ॉल्ट मान है।
मथायस क्लेन

साथ ही, आपके उत्तर में लिनक्स का उल्लेख करना अच्छा नहीं है। हालांकि यह पुराना है, मैं केवल यह स्पष्ट करना चाहता हूं कि आप जो कह रहे हैं वह
रेडहैट

11

यदि आप लिनक्स का उपयोग कर रहे हैं, तो आप निर्देशिका की कोड को संपादित कर सकते हैं

/etc/httpd/conf/httpd.conf

अब, यहां कोड लाइन थोड़े पसंद करें

# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
#
    AllowOverride None
#
# Controls who can get stuff from this server.
#
    Order allow,deny
    Allow from all

</Directory>

AllowOveride कोई नहीं AllowOveride सभी को बदलें

अब अब आप अपनी निर्देशिका के अंदर किसी भी तरह के नियम को अपनी निर्देशिका में सेट कर सकते हैं। यदि कोई अन्य ऑपरेटिंग सिस्टम सिर्फ httpd.conf की फाइल खोजने और उसे संपादित करने का प्रयास करता है।


2015Nov18 1539 पीएसटी के अनुसार, जब मैं Google को 'भत्ते' के लिए खोजता हूं, तो मुझे खोज परिणामों के ऊपर एक बॉक्स दिखाई देता है जो यह दिखाता है:now here fine the code line kinda like # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. #Sep 11, 2013 apache - How to Set AllowOverride all - Stack Overflow stackoverflow.com/questions/18740419/how-to-set-allowoverride-all
boot13

6

मुझे लगता है कि आप इसे httpd.confफ़ाइल के बजाय अपनी फ़ाइल में सेट करना चाहते हैं .htaccess

मुझे यकीन नहीं है कि आप किस ओएस का उपयोग करते हैं, लेकिन उबंटू के लिए यह लिंक आपको कुछ संकेत दे सकता है कि क्या करना है।

https://help.ubuntu.com/community/EnablingUseOfApacheHtaccessFiles


5

जैसा कि अन्य उपयोगकर्ताओं ने भत्ता निर्देश के उपयोग के बारे में यहां बताया, जिसका उपयोग .htaccess उपयोग की अनुमति देने के लिए किया जाता है। एक बात मैं यह बताना चाहता हूं कि यदि सभी उपयोगकर्ता लिखने के लिए उपयोग करते हैं, तो कभी भी भत्ते का उपयोग न करें। इसके बजाय कुछ मॉड्यूल को अनुमति देने के लिए भत्ते का उपयोग करें।

जैसे कि AllowOverride AuthConfig mod_rewriteइसके बजाय

AllowOverride All

क्योंकि mod_mime जैसे मॉड्यूल सादे पाठ के रूप में आपकी सर्वर साइड फ़ाइलों को प्रस्तुत कर सकते हैं।


1
धन्यवाद!! यह वही है जो मैं खोज रहा था। मैं windwanderer.com.au को windwalker.com.au को रीडायरेक्ट करना चाहता हूं और इसलिए मुझे इसे एक .htaccess फ़ाइल में और कुछ और अधिक जानने के लिए अनुमति देने की आवश्यकता है। हमेशा AllowOverride डालना सभी महत्वपूर्ण मेरे सर्वर की सुरक्षा को कम कर देता है।
जेसी द विंड वांडर

1

मैं इस समस्या को भी पूरा करता हूं, और मैंने समाधान को 2 चरण नीचे के रूप में पाया: 1. Apache2 के साइटों-सक्षम फ़ोल्डर में, आप "AllowOverride all" द्वारा निर्देशिका तत्व को संपादित करते हैं (2 "सभी" नहीं "" होना चाहिए) 2। Www फ़ोल्डर में kohana परियोजना में, "example.htaccess" को ".htaccess" नाम दें।

मैंने इसे ubuntu पर किया। आशा है कि यह आपकी मदद करेगा।


0

SuSE Linux एंटरप्राइज़ सर्वर

सुनिश्चित करें कि आप सही फ़ाइल का संपादन कर रहे हैं https://www.suse.com/documentation/sles11/book_sle_admin/data/sec_apache2_configuration.html

httpd.conf

मुख्य Apache सर्वर कॉन्फ़िगरेशन फ़ाइल। इस फ़ाइल को बदलने से बचें। इसमें मुख्य रूप से कथन और वैश्विक सेटिंग्स शामिल हैं। यहां सूचीबद्ध प्रासंगिक विन्यास फाइलों में वैश्विक सेटिंग्स को अधिलेखित करें। अपने वर्चुअल होस्ट कॉन्फ़िगरेशन में होस्ट-विशिष्ट सेटिंग्स (जैसे दस्तावेज़ रूट) बदलें ।

ऐसे मामले में vhosts.d/*.confसंपादित किया जाना चाहिए


0

इसके अलावा उन सही उत्तरों को कभी-कभी एक ही त्रुटि को बेमेल और अलग-अलग सेटिंग्स SSLके कारण वेबसर्वर कॉन्फ़िगरेशन के भाग में देखा जा सकता है । (जाहिर है जब .htaccessफ़ाइल का उपयोग नहीं कर रहे हैं)।

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