2011-02-25 21 views
7

मैं पहली बार mod_rewrite के साथ प्रयोग कर रहा हूं (मैं एक वेब नौसिखिया हूं, लेकिन सीखने की कोशिश कर रहा हूं)। मैं bob.htmlalice.html पर रीडायरेक्ट करने के लिए प्राप्त करने की कोशिश कर रहा हूं (पढ़ें: यूआरएल वही रहता है, पृष्ठ सामग्री alice.html) है। दोनों फाइल /var/www/ में हैं। मैं उबंटू 10.10 डब्ल्यू/अपाचे 2.2.16 चला रहा हूं।अपाचे mod_rewrite .htaccess में काम करता है लेकिन httpd.conf

यहाँ .htaccess फ़ाइल /var/www/ निर्देशिका में रखा में काम करता है:

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteRule ^bob.html$ alice.html 
</IfModule> 

यह अपेक्षा के अनुरूप व्यवहार करती है, लेकिन जब httpd.conf में ले जाया गया यह काम नहीं करता फ़ाइल (केवल सर्वोत्तम प्रथाओं w/प्रदर्शन और ऐसे सीखना)। मैंने कहीं कि जब में httpd.conf फ़ाइल mod_rewrite का उपयोग कर, अग्रणी स्लैश के लिए आवश्यक हैं पढ़ा है, तो मेरे httpd.conf फ़ाइल लगता है:

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteRule ^/bob.html$ /alice.html 
</IfModule> 

मैं भी पढ़ा है कि /etc/apache2/sites- सक्षम/000-डिफ़ॉल्टहोने की आवश्यकता है Allowververideपर सेट सभी

<Directory /var/www> 
... 
AllowOverride All 
... 
</Directory> 

मुझे लगता है कि .htaccess साथ है कि अभी प्रयोग के लिए लेकिन मुझे यकीन नहीं था तो मैं बस में छोड़ दिया।

इन विन्यास सेटिंग्स के सभी के साथ

, पुनर्निर्देशन काम नहीं करता। मैंने यह सुनिश्चित करने के लिए परीक्षण किया है कि फ़ाइल स्वयं पढ़ी जा रही है (किसी ने सुझाव दिया है कि httpd.conf अब और उपयोग नहीं किया गया है और apache2.conf इसके बजाय गलत कोड डालने के द्वारा उपयोग किया जाता है। मैंने कुछ अन्य प्रश्नों/उत्तरों पर एक नज़र डाली है लेकिन मैं अभी भी इसे समझ नहीं सकता।

संपादित: ऐसा लगता है कि मैं उपयोग कर रहा हूँ /etc/init.d/apache2 प्रत्येक परिवर्तन के बाद httpd.conf को अपाचे और (उम्मीद) को फिर से लोड विन्यास को पुनः आरंभ करने को पुनरारंभ करें।

+0

httpd.conf निर्देशों में अग्रणी स्लेश के बिना क्या होता है? –

+0

व्यवहार में कोई बदलाव नहीं। अभी भी काम नहीं करता है और यह कुछ भी अलग नहीं होता है। – Chris

+0

आपकी httpd.conf फ़ाइल में आपने '' ब्लॉक क्यों रखा था? –

उत्तर

1

< स्थान/> </स्थान > टैग में अपनी httpd.conf फ़ाइल में पुनःलेखक को लपेटने का प्रयास करें। ऐसा लगता है कि यह व्यवहार .htaccess फ़ाइल के समान बना देता है।

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