2013-03-26 11 views
7

मुझे यह पसंद आएगा कि जब उपयोगकर्ता http://mysite.com/home पर जाता है तो यह उसे http://mysite.com/page.php?id=home पर रीडायरेक्ट करता है। यही वह है जो मैंने अपने .htaccess में रखा है, लेकिन ऐसा लगता है कि यह काम नहीं करता है।यूआरएल रिवाइटिंग काम नहीं कर रहा है। अपाचे 2

RewriteEngine On 
RewriteRule ^/(.+)$ page.php?id=$1 [NC,L] 

यह मुझे एक अच्छी 404 के साथ/होम निर्देशिका में भेजता है। सहायता की सराहना की जाती है। धन्यवाद।

संपादित करें:

मैं कुछ फिर से लिखने मैं काम पता है की कोशिश की है, इसलिए अब मैं इसे अपने समस्या यह है कि नहीं है कुछ कर रहा हूँ। मैंने phpinfo() के साथ चेक किया और हाँ, मॉड रीराइट चल रहा है, मैंने एलएएमपी के साथ अपाचे 2 सेट किया है, मैं लिनक्स मिंट का नवीनतम संस्करण चला रहा हूं।

+2

की /var/www/ भाग में AllowOverride all को AllowOverride None संशोधित mod_rewrite सक्षम किया गया है? – m79lkm

+0

यह अद्यतन पोस्ट है। –

उत्तर

21

ठीक है अच्छी तरह से मैं इस समस्या को ठीक किया, यह कैसे मैंने किया है।

sudo gedit /etc/apache2/sites-available/default

और उसके बाद मैं फ़ाइल

<Directory /var/www/> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride all #This was 'None' before, change it to 'all' 
    Order allow,deny 
    allow from all 
</Directory> 
+0

धन्यवाद! @zeokila – frops

+0

@frops Glad इससे मदद मिली! –

+0

इसके बाद अपाचे को पुनरारंभ करना न भूलें! –

3

यह फ़ॉरवर्ड स्लैश हटाने के बाद मेरे लिए काम किया:

RewriteEngine On 
RewriteBase /test 
RewriteRule ^(.+)$ page.php?id=$1 [NC,L] 
+0

यह अभी भी मेरे लिए काम नहीं करता है:/ –

+0

आपके दस्तावेज़ रूट में page.php है? यदि आप दस्तावेज़ रूट निर्देशिका में नहीं हैं तो आपको एक रिवाइटबेस स्टेटमेंट – m79lkm

+0

जोड़ने की भी आवश्यकता होगी, जो मेरा उत्तर आपको मेरी .htaccess फ़ाइल दिखा रहा है। उम्मीद है की यह मदद करेगा! – m79lkm

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