mod-rewrite
बुनियादी आंतरिक पुनर्लेखन
खोज…
फैंसी यूआरएल php स्क्रिप्ट के लिए
इस उदाहरण में, हम url के रूप में http://example.com/topic/id-seoname
को php स्क्रिप्ट में लिखते हैं जो इनपुट के रूप में एक आईडी लेता है। यह उदाहरण नियम को "प्रति-निर्देशिका" संदर्भ में होने की उम्मीद करता है ।
RewriteEngine on
RewriteRule ^topic/([0-9]+)-[^/]*/?$ /topics.php?id=$1 [L]
इस उदाहरण में, topic/
सभी विषयों का सामान्य उपसर्ग है। इसके बाद एक नंबर आता है जो स्क्रिप्ट द्वारा उपयोग किया जाता है। अंत में, एसईओ नाम प्रदर्शित किया जाता है। इस seo नाम को mod_rewrite द्वारा अनदेखा किया जाता है, क्योंकि यह केवल seo कारणों के लिए है। RewriteRule
दूसरे तर्क में फिर से लिखने के लिए url समाहित है। प्लेसहोल्डर $1
को इससे पहले रेगेक्स में पहले कैप्चर समूह की सामग्री के साथ बदल दिया गया है। इस मामले में इसे ([0-9]+)
साथ मिलान किए जाने के साथ बदल दिया जाएगा।
क्वेरी स्ट्रिंग के साथ यूआरएल PHP स्क्रिप्ट के लिए
एक क्वेरी स्ट्रिंग से मिलान करने के लिए, एक शर्त को RewriteRule
जोड़ा जाना चाहिए। यह संबंधित नियम से पहले RewriteCond
निर्देशों को रखकर किया जाता है। निम्नलिखित उदाहरण में हम गतिशील रूप से एक पुराने यूआरएल को एक नए यूआरएल में फिर से लिखते हैं।
RewriteCond %{QUERY_STRING} ^name=([^&]*)$
RewriteRule ^oldscript\.php$ newscript.php?username=%1 [L]
कृपया ध्यान दें कि शाब्दिक बिंदु से मेल खाने के लिए, हमें इसे स्लैश से बचना होगा। %1
को पिछली स्थिति के पहले कैप्चर समूह के साथ बदल दिया गया है। इस मामले में इसे ([^&]*)
द्वारा मिलान किए गए द्वारा प्रतिस्थापित किया जाता है।