2011-08-04 7 views
5

मेरे पास कई वैश्विक आईआईएस 7 यूआरएल रिवाइट नियम हैं और वे डिफ़ॉल्ट रूप से सभी साइटों पर लागू होते हैं। वैसे ऐसी कई साइटें हैं जिन्हें मैं सभी नियमों के लिए इस पुनर्लेख विरासत को अक्षम करना चाहता हूं। मैं यह कैसे कर सकता हूँ?आईआईएस 7 यूआरएल को अक्षम करें प्रति साइट के आधार पर विरासत पुनर्लेखन?

<rewrite> 
<rules> 
    <clear /> 
</rules> 
    </rewrite> 

उत्तर

4

क्षमा करें, कि नहीं किया जा सकता:

वैश्विक पुनर्लेखन नियम तर्क को फिर से लिखने सर्वर चौड़ा यूआरएल परिभाषित किया जाता है मैं खुशी के बिना निम्नलिखित की कोशिश की। इन नियमों को applicationHost.config फ़ाइल फ़ाइल में परिभाषित किया गया है और किसी भी निचले कॉन्फ़िगरेशन स्तरों जैसे साइट या वर्चुअल निर्देशिका पर ओवरराइड या अक्षम नहीं किया जा सकता है। वैश्विक नियम हमेशा पूर्ण यूआरएल पथ पर संचालित होते हैं (यानी, सर्वर नाम के बिना यूआरआई से अनुरोध किया जाता है)।

और

वैश्विक नियम सेट हमेशा पहले मूल्यांकन किया जाता है, और कहा कि वितरित नियम सेट के बाद एक URL स्ट्रिंग वैश्विक नियम सेट द्वारा उत्पादित का उपयोग करके मूल्यांकन किया जाएगा।

http://learn.iis.net/page.aspx/468/using-global-and-distributed-rewrite-rules/

0

आप कार्यक्षमता आप वैश्विक नियम से बाहर है और अपनी साइटों के लिए web.config में की जरूरत है स्थानांतरित करने में सक्षम हैं, तो आप करने के लिए प्रत्येक नियम पर एक शर्त जोड़ें या तो में शामिल हो सकते या उस साइट के लिए स्थानीय फ़ाइल की उपस्थिति के आधार पर प्रत्येक नियम का ऑप्ट-आउट करें। यह आपको कोड और कॉन्फ़िगरेशन के एक सामान्य सेट को तैनात करने की अनुमति देगा, लेकिन स्थानीय/प्रति-साइट अनुकूलन के साथ। एक चुना गया शासन के

उदाहरण:

 <rule name="HTTP to HTTPS Redirect" stopProcessing="true"> 
      <match url="(.*)" /> 
      <conditions logicalGrouping="MatchAll"> 
       <add input="{HTTPS}" pattern="off" /> 
       <!-- Opt-in to rule via presense of a local file --> 
       <add input="{DOCUMENT_ROOT}/Local/rewrite-rule-enable-https.txt" matchType="IsFile" /> 
      </conditions> 
      <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" /> 
     </rule> 

नोट: स्थानीय फ़ोल्डर तैनात नहीं है, बल्कि प्रति साइट फ़ाइलों को स्टोर करने के लिए इस्तेमाल।

इसलिए अनिवार्य रूप से यह नियम चालू नहीं होता है जब तक कि "rewrite-rule-enable-https.txt" नामक फ़ाइल को साइट पर/स्थानीय फ़ोल्डर में नहीं मिलता है।

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