IIS URL फिर से लिखना {R: N} स्पष्टीकरण


81

मैं {R: N} के उद्देश्य को समझ नहीं पाया हूं। किसी को भी स्पष्ट कृपया सकते हैं जब उपयोग करने के लिए
{R:0}बनाम{R:1}

उपयोग उदाहरण:

<action type="Redirect" url="http://www.{HTTP_HOST}/{R:0}" />

मैंने {R: 1} का उपयोग करके स्कॉटगू देखा है

http://weblogs.asp.net/scottgu/archive/2010/04/20/tip-trick-fix-common-seo-problems-use-the-url-rewrite-extension.aspx

जबकि, नीचे {R: 0} है

http://weblogs.asp.net/owscott/archive/2009/11/27/iis-url-rewrite-rewriting-non-www-to-www.aspx

नीचे IIS लिंक पर एक नज़र था, लेकिन नीचे दी गई परिभाषा को काफी पचा नहीं सका:

स्थिति पैटर्न के बैक-रेफरेंस की पहचान {C: N} द्वारा की जाती है, जहां N 0 से 9 तक होता है; नियम पैटर्न के बैक-रेफरेंस की पहचान {R: N} से होती है, जहां N 0 से 9 तक होता है। ध्यान दें कि दोनों प्रकार के बैक-रेफरेंस के लिए, {R: 0} और {C: 0}, से मिलान स्ट्रिंग होगा।

जवाबों:


96

प्रलेखन के अनुसार:

जब ECMAScript पैटर्न सिंटैक्स का उपयोग किया जाता है, तो पैटर्न के हिस्से के चारों ओर कोष्ठक लगाकर एक बैक-रेफरेंस बनाया जा सकता है, जिसे बैक-रेफरेंस कैप्चर करना होगा।

इसलिए प्रलेखन में निम्न उदाहरण लेते हैं:

^(www\.)(.*)$

और स्थितियोंwww.foo.com में इनपुट स्ट्रिंग का उपयोग करना , आपके पास होगा:

{C:0} - www.foo.com
{C:1} - www.
{C:2} - foo.com

इसे सरल बनाने के लिए:

  • {R:x}नियम पैटर्न ( <match url="...">) से वापस संदर्भ के रूप में प्रयोग किया जाता है ।
  • {C:x}हालत पैटर्न से वापस संदर्भ के रूप में प्रयोग किया जाता है ( <conditions><add input="{HTTP_HOST}" pattern="..."></conditions>)
  • 0संदर्भ पूरे इनपुट स्ट्रिंग
  • 1संदर्भ पहले कोष्टक में पैटर्न मिलान स्ट्रिंग के पहले भाग में शामिल होंगे (), 2संदर्भ संख्या के लिए आदि संदर्भ दूसरा एक, ... ऊपर9

ध्यान दें:

जब "वाइल्डकार्ड" पैटर्न सिंटैक्स का उपयोग किया जाता है, तो पैटर्न में एक तारांकन चिह्न (*) का उपयोग किए जाने पर बैक-संदर्भ हमेशा बनाए जाते हैं। जब "?" पैटर्न में उपयोग किया जाता है।

http://www.iis.net/learn/extensions/url-rewrite-module/url-rewrite-module-configuration-reference#Using_back-references_in_rewrite_rules


9
मामले में यह किसी की मदद करता है, यह भी एक संबंधित और एक बहुत ही उपयोगी लिंक है: nicolas.guelpa.me/blog/2015/02/21/rewrite-redirect-iis.html
niki b

1
@niki ख: अपने ब्लॉग मदद किया था मुझे क्योंकि आप क्या कहते हैं स्पष्ट रूप से "का एक बहुत महत्वपूर्ण:। नियम केवल पथ के लिए लागू किया जाता है, नाम आप मूर्ख यूआरएल न दें (उदाहरण के लिए, में example.com/test , योजना और डोमेन नाम को "url" मिलान के लिए "नजरअंदाज " किया जाता है, और " हमेशा याद रखें जब आप एक रीडायरेक्ट (विशेष रूप से 301) डीबग करते हैं जो ब्राउज़र उन्हें कैश करने के लिए करते हैं और यह नियम बदलने पर आपको हताशा हो सकती है लेकिन कुछ भी नहीं होता है… ”। कृपया सही उदाहरण के साथ {R: X} डोमेन नाम का उपयोग करें क्योंकि यह भ्रामक है, हमारे पास नियमों के साथ इसका उपयोग नहीं है।
डैनियल लोबो

@DanielLobo मुझे खुशी है कि ब्लॉग ने आपकी मदद की। मैंने इसे नहीं लिखा है, लेकिन यदि आप चाहें, तो आप सीधे ब्लॉगर से संपर्क कर सकते हैं। लेकिन यह अच्छा है कि आपने लोगों को इसके बारे में जागरूक करने के लिए इसे यहाँ इंगित किया है।
निकी बी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.