कैसे Ubuntu में Apache में .htaccess के उपयोग को सक्षम करने के लिए?


15

मैं Ubuntu 14.04 (Apache 2.4.7) में htaccess फ़ाइल के उपयोग को सक्षम करने का प्रयास कर रहा हूं । मुझे पता है कि इस सवाल के कई संभावित डुप्लिकेट हैं, लेकिन उनमें से किसी ने भी मेरी मदद नहीं की।

.htaccess

ErrorDocument 404 /404.html

000 default.conf

<VirtualHost *:80>
AccessFileName .htaccess

ServerAdmin webmaster@localhost
DocumentRoot /var/www

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory /var/www/>
  Options Indexes FollowSymLinks Includes
  AllowOverride All
  Order allow,deny
  Allow from all
</Directory>
</VirtualHost>

और क्या चाहिए?


1
AllowOverride सभी निर्देश .htaccess फ़ाइल में सभी विकल्पों की अनुमति देता है। 000-default.conf मानता है कि आपके सर्वर पर केवल एक साइट है। क्या .htaccess फ़ाइल आपके लिए काम नहीं कर रही है? क्या इस सर्वर पर एक से अधिक साइट होस्ट की गई हैं?
क्लोसेटनोक

/ Var / www में कई फ़ोल्डर हैं लेकिन कोई वर्चुअल होस्ट नहीं बनाया गया है। / etc / apache2 / sites-available / folder में दो फाइलें, 000-default.conf और default-ssl.conf हैं। htaccess फ़ाइल में / var स्थित है / www /
डेविड ज़िप

शायद 'डॉक्यूमेंटरूट / var / www /'? (अनुगामी स्लेश)
कोवा

सुनिश्चित करने के लिए जांचें / etc / apache2 / साइट्स-सक्षम / जिसमें 000-default.conf का लिंक है। यदि आप /var/www/index.html फ़ाइल बदलते हैं, तो जब आप सर्वर को वेब ब्राउज़र से देखते हैं, तो आप परिवर्तन देख सकते हैं?
स्टीफन Ostermiller

जवाबों:


26

पहला कदम

के रूप में फ़ाइल खोलें

sudo vim /etc/apache2/apache2.conf

दूसरा कदम

यदि आप इस लाइन (लाइन नंबर 187 लगभग) से पहले पाते हैं तो टिप्पणी साइन (#) हटा दें।

AccessFileName .htaccess

तीसरा चरण

फिर जहां है वहां रेखा खोजो

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

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

AllowOverride All

और वोइला ... .htaccessकाम करता है !!


3
परिवर्तन तब तक प्रभावी नहीं हुए जब तक मैंने अपाचे को पुनः आरंभ नहीं किया: कमांड अपाचे पुनः आरंभ
ताहिर यासीन

1
मेरा सुझाव है, @TahirYasin उल्लेख के रूप में, अपाचे को पुनरारंभ करना। sudo service apache2 restart
www139


1

मेरे मामले में बदल रहा है AllowOverride Noneकरने के लिए AllowOverride Allमें /etc/apache2/sites-enabled/000-default.conf में मदद की।

अन्य सभी .conf फाइलें पहले ही आ चुकी हैं AllowOverride All


0
  1. में /etc/apache2/apache2.conf निकालने टिप्पणी चिह्न ( #) सेAccessFileName .htaccess
  2. आपकी Apache कॉन्फ़िगरेशन फ़ाइल का नाम मानक नहीं है। आप इसे विंडोज में default.conf में बदल सकते हैं और लिनक्स में डिफॉल्ट में इसका नाम बदल सकते हैं । लिनक्स आधारित OS में इस कोड को टर्मिनल में चलाएं:

    sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/default
    

इसे शून्य के साथ नाम दिया गया है ताकि यह पहले वर्णानुक्रम में आए। यदि आपके पास एक default.conf फ़ाइल है और फिर anteater.com के लिए एक साइट बनाएं, तो एंटीक डिफ़ॉल्ट होस्ट बन जाता है क्योंकि यह पहले लोड हो जाता है। ऐसी समस्याओं को रोकने के लिए 000 रखें। Conf फ़ाइल का नाम कुछ भी नहीं है ।htaccess काम करता है या नहीं।
स्टीफन Ostermiller

1
'AccessFileName .htaccess' पहले से ही अपूर्ण है। ऊपर वाले ने मेरी मदद की। धन्यवाद।
डेविड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.