खोज…


टिप्पणियों

इस विषय में उन दो संदर्भों का वर्णन किया गया है, जिसमें RewriteRule का उपयोग किया जा सकता है। RewriteEngine on छोड़ने के उदाहरणों में, यह माना जाता है कि यह निर्देश उस उदाहरण से पहले हुआ है।

प्रति-निर्देशिका संदर्भ में नियमों को फिर से लिखना

प्रति-निर्देशिका संदर्भ <Directory> और </Directory> टैग के बीच स्थिर कॉन्फ़िगरेशन फ़ाइल का एक हिस्सा है। डायनेमिक कॉन्फ़िगरेशन फ़ाइलों की संपूर्ण सामग्री उस फ़ोल्डर के प्रति-निर्देशिका संदर्भ में है जिसमें .htaccess रहता है।

RewriteRule प्रति-डायरेक्टरी संदर्भ में प्रोटोकॉल, होस्टनाम, पोर्ट और डायरेक्टरी के उपसर्ग के बाद यूरल के हिस्से से मेल खाता है जिसमें वे निवास करते हैं, और क्वेरी स्ट्रिंग से पहले।

स्थिर विन्यास फाइल में

निम्नलिखित नियम यूआरएल पर प्रयोग किया जाता है http://example.com/foo?id=1 , की पहली बहस में regex RewriteRule के खिलाफ मिलान किया जाता है foo । प्रोटोकॉल ( http ), hostname ( example.com ) और इस निर्देशिका के लिए उपसर्ग ( / ) हटा दिए जाते हैं। दूसरे छोर पर, क्वेरी स्ट्रिंग ( ?id=1 ) भी हटा दी जाती है।

<Directory "/">
  RewriteRule ^foo$ bar [L]
</Directory>

निम्नलिखित उदाहरण में, url http://example.com/topic/15-my-topic-name का उपयोग करते हुए, RewriteRule के पहले तर्क को topic/15-my-topic-name मिलान किया जाएगा:

<Directory "/topic/">
  RewriteRule ^topic/([0-9]+)-[^/]*/?$ topics.php?id=$1 [L]
</Directory>

डायनेमिक कॉन्फ़िगरेशन फ़ाइल में

जब निम्न नियम को एक .htaccess फ़ाइल में www-root फ़ोल्डर में रखा जाता है और फिर url http://example.com/foo?id=1 पर उपयोग किया जाता है, तो पहला regex foo विरुद्ध मिलान किया जाता है।

RewriteRule ^foo$ bar [L]

प्रति-निर्देशिका संदर्भ में, मिलान किया गया url कभी a / शुरू नहीं होता है। इस तरह के संदर्भ में, RewriteRule ^/ साथ शुरू होने वाला एक निर्देश कभी भी कुछ भी मेल नहीं खाएगा।

वर्चुअल होस्ट संदर्भ में नियम फिर से लिखें

वर्चुअल होस्ट संदर्भ <VirtualHost> और </VirtualHost> टैग के बीच स्थिर कॉन्फ़िगरेशन फ़ाइल का एक हिस्सा है।

प्रोटोकॉल, होस्टनाम और पोर्ट के बाद और क्वेरी स्ट्रिंग से पहले एक यूआरएल के भाग के खिलाफ वर्चुअल होस्ट संदर्भ मैच में RewriteRule का मिलान।

निम्नलिखित नियम यूआरएल के लिए प्रयोग किया जाता है http://example.com/foo?id=1 , की पहली बहस में regex RewriteRule के खिलाफ मिलान किया जाता है /foo

<VirtualHost 1.2.3.4:80>
  ServerName example.com

  RewriteEngine on
  RewriteRule ^/foo$ /bar [L]
</VirtualHost>


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow