2009-07-10 41 views
5

मैं एक पृष्ठ विकसित कर रहा हूं जिसमें 3 पेज (होम, पेज 2, पेज 3) शामिल हैं ... दूसरे पृष्ठ में 4 आइटम (उपपृष्ठ 1, उपपृष्ठ 2, ...) के साथ एक नेविगेशन बार है, जिसे मैं प्रतिस्थापित करने के लिए उपयोग करता हूं यूआरएल चर के साथ पेज 2 की सामग्री! दूसरे शब्दों में, दूसरे के लिए पृष्ठ 2 अंक में नेविगेशन पट्टी के आइटम:यह रिवाइटरूल क्यों काम नहीं करता है?

http://localhost/uk/page2/index.php?pg=subpage2 

आइटम 3 बात करने के लिए:

http://localhost/uk/page2/index.php?pg=subpage3 

अब मैं .htaccess माध्यम से और अधिक अनुकूल यूआरएल का उपयोग करना चाहेंगे!

मैं इस लिखा है:

RewriteEngine On 
RewriteRule /uk/page2/(.*)/$ /uk/page2/index.php?pg=$1 

.htaccess जड़ में रखा में!

लेकिन काम नहीं करता है! कृपया मदद करें !!!

उत्तर

9

आप .htaccess का उपयोग कर रहे जब आप अग्रणी स्लैश नहीं है:

RewriteEngine On 
RewriteRule ^uk/page2/(.*)/$ /uk/page2/index.php?pg=$1 
+0

आपके उत्तर के लिए धन्यवाद! इसके साथ ही, पुनर्लेख काम नहीं करता !!! –

+0

जब आप कहते हैं कि यह काम नहीं करता है, तो वास्तव में क्या होता है? – Greg

+0

.htaccess में बस कुछ बकवास डालने का प्रयास करें - आपको 500 सर्वर त्रुटि मिलनी चाहिए। यदि आप नहीं करते हैं, तो आपकी .htaccess लोड नहीं हो रही है – Greg

0

यह अंत में स्लैश हो सकता है, तो यह बदलने के लिए: यह करने के लिए

RewriteEngine On 
RewriteRule /uk/page2/(.*)/$ /uk/page2/index.php?pg=$1 

:

RewriteEngine On 
RewriteRule ^(.*)uk/page2(/?)(.*)$ /uk/page2/index.php?pg=$3 

एक और बात आप की जाँच करनी चाहिए आप AllowOverride अपने httpd.conf फाइल में सभी के लिए निर्धारित किया है कि, में है कोई भी स्थिर नहीं। यदि यह किसी के लिए सेट नहीं है, तो आपको .htaccess के साथ कुछ भी करने की अनुमति नहीं दी जाएगी।

2

G'day,

मैं क्या वास्तव में कवर के तहत हो रहा है की जाँच करने के एक उच्च स्तर पर RewriteLog config विकल्प को सक्षम सुझाव देना चाहेंगे।

Has AllowOverides been enabled?</obvious> (-: 

लगता है जैसे आप भाग्य से बाहर हो

.htaccess का उपयोग कर

अविश्वसनीय mod_rewrite हालांकि इन एक बहुत लंबे समय तक पहुँच जाता है, प्रति-निर्देशिका के संदर्भ में, यानी, .htaccess फ़ाइलों के भीतर में URL जोड़तोड़ प्रदान करता है यूआरएल के फाइलनामों में अनुवाद करने के बाद। यह इस तरह से होना चाहिए क्योंकि। Htaccess फ़ाइलें फाइल सिस्टम में रहती हैं, इसलिए प्रसंस्करण पहले ही इस चरण तक पहुंच चुका है। दूसरे शब्दों में: इस समय एपीआई चरणों के अनुसार किसी भी यूआरएल मैनिपुलेशन के लिए बहुत देर हो चुकी है। - अपाचे mod_rewrite doc.s (जोर मेरा)

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