2012-11-10 11 views
21

मैं URL में यह भूमिका पुनर्लेखन .. यही कारण है कि मैं वापस पुनर्लेखन के लिए इस भूमिका में अन्य भूमिका या अपवाद की जरूरत है या HTTPSकुछ यूआरएल

<rule name="Force HTTPS" stopProcessing="true"> 
        <match url="(.*)" /> 
        <conditions> 
         <add input="{HTTPS}" pattern="off" ignoreCase="true" /> 
        </conditions> 
        <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" /> 
       </rule> 

के लिए साइट का उपयोग कर HTTP के लिए हर अनुरोध को फिर से लिखने मिल को छोड़कर URL रीराइट भूमिका IIS एक विशिष्ट यूआरएल HTTP पर रीडायरेक्ट करें।

क्या यह संभव है? धन्यवाद।

उत्तर

54

आप अपवाद है जिसके लिए आप अतिरिक्त शर्तों (कि यूआरएल के बराबर नहीं) के रूप में HTTPS करने के लिए पुन: निर्देशन प्रदर्शन करने के लिए नहीं करना चाहते हैं जोड़ सकते हैं ताकि तरह:

<rule name="Force HTTPS" stopProcessing="true"> 
    <match url="(.*)" /> 
    <conditions logicalGrouping="MatchAll"> 
     <add input="{HTTPS}" pattern="off" ignoreCase="true" /> 
     <add input="{REQUEST_URI}" negate="true" pattern="^/noredirect/forthis/page\.aspx$" ignoreCase="true" /> 
     <add input="{REQUEST_URI}" negate="true" pattern="^/noredirect/forthis/page-as-well\.aspx$" ignoreCase="true" /> 
     <add input="{REQUEST_URI}" negate="true" pattern="^/noredirect/forthis/page-as-well-too\.aspx$" ignoreCase="true" /> 
    </conditions> 
    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" /> 
</rule> 
+0

इसकी वाला इस तरह >>< इनपुट जोड़ें = "{REQUEST_URI}" negate = "true" pattern = "^/domain.com/directoryname/pageName\.aspx$" ignoreCase = "true" />, उत्तर – Mido

+2

के लिए धन्यवाद जब तक डोमेन.com है आपकी वेबसाइट की रूट निर्देशिका में एक निर्देशिका, फिर हाँ, यह काम करेगी। ध्यान दें कि आपको नियमित रूप से डोमेन.com से मेल खाने के लिए नियमित अभिव्यक्ति में 'डोमेन \ .com' का उपयोग करना चाहिए अन्यथा डॉट नियमित अभिव्यक्ति को किसी भी चरित्र को स्वीकार करेगा। यदि आप डोमेन नाम के रूप में डोमेन.com के साथ मेल करना चाहते हैं तो आप इसका उपयोग नहीं कर सकते हैं क्योंकि डोमेन नाम '{REQUEST_URI}' चर में शामिल नहीं है। –

+1

मैंने आईआईएस विज़ार्ड का उपयोग यूआरएल लेखन से एक विशिष्ट डोमेन को बाहर करने के लिए किया था और यह इस तरह की एक लाइन बनाने के लिए निकला: <इनपुट इनपुट = "{QUERY_STRING}" पैटर्न = "। * SubStringOfURLToExclude। *" IgnoreCase = "true हालत में "negate =" true "/> । जबकि SubStringOfURL यूआरएल की एक उप स्ट्रिंग है जिसे मैं बाहर करना चाहता हूं। –

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