आप Ubuntu 10.04 में Apache के साथ mod_rewrite कैसे सक्षम कर सकते हैं?
मैं कॉपी करने की कोशिश की rewrite.load
से /etc/apache2/mods-available
करने के लिए etc/apache2/mods-enabled
, लेकिन यह काम नहीं किया।
आप Ubuntu 10.04 में Apache के साथ mod_rewrite कैसे सक्षम कर सकते हैं?
मैं कॉपी करने की कोशिश की rewrite.load
से /etc/apache2/mods-available
करने के लिए etc/apache2/mods-enabled
, लेकिन यह काम नहीं किया।
जवाबों:
ओबिडियन का a2enmod उपयोग करने का उत्तर उचित समाधान है। एंडोल की विधि काम करेगी, लेकिन उन्नयन पर टूट सकती है। A2enmod क्या करता है बस एक प्रतीकात्मक लिंक बनाएं, इसलिए निम्नलिखित दो समान हैं, दोनों उचित, समाधान:
ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/
या
a2enmod rewrite
हालाँकि, a2enmod अन्य प्रकार की फ़ाइलों के लिए दिखेगा, कुछ में .conf और संभवतः अन्य हैं। इस आदेश को सीखने का कोई कारण नहीं है, हालांकि यह जानना महत्वपूर्ण है कि पृष्ठभूमि में क्या हो रहा है।
फ़ाइल को कॉपी करना किसी भी भविष्य के व्यवस्थापक को आपके साथ बहुत ही अप्रत्याशित बना देगा। :)
वास्तव में, जबकि, गलत समाधान की तरह किया जा रहा है को कॉपी rewrite.load से ./mods-available/ को ./mods-enabled/ काम किया जाना चाहिए था। क्या आपको बाद में अपनी अपाचे को फिर से शुरू करने की याद आई?
किसी भी स्थिति में, ./mods-enabled/ को आमतौर पर ./mods-available/ में संगत फ़ाइलों के लिए सिमिलिंक होना चाहिए । यह, जैसा कि ओब्सीडियन द्वारा उल्लेख किया गया है, कमांड a2enmod और a2dismod द्वारा आसानी से नियंत्रित किया गया है।
मॉड्यूल को सक्षम करने के अलावा, आपको पुनर्लेखन को भी सक्रिय करना होगा। इससे पहले कि आप अपना RewriteCond : s और RewriteRule लिख सकें : उस कॉन्फ़िगरेशन संदर्भ में " RewriteEngine On " होना चाहिए ।
a2enmod
वैसे भी आसान है।