2011-12-08 8 views
5

मैं bar.example.com से www.example.com पर एक डोमेन नाम को कैनोनिकल बनाना चाहता हूं (अच्छी तरह से कुछ भी जो www.example.com नहीं है)। साइट आईआईएस 7 चलाता है।आईआईएस 7 यूआरएल रिवाइट - क्या मैं एक रीडायरेक्ट नियम के साथ stopProcessing = "false" का उपयोग कर सकता हूं?

समस्या यह है कि कुछ URL प्रपत्र http://bar.example.com/asp/oldpage.asp?query=awesome के थे, और पहले से ही जगह अनुप्रेषित कि http://www.example.com/newpage/awesome

को मैं एक नियम है कि अन्य नियमों पकड़ता लिखना चाहते में विशिष्ट URL रीराइट नियम है।

यहाँ पकड़: मैं नियमों का एक बहुत है, और साइट के रूट में इस नियम को रखना चाहते हैं, लेकिन अतिरिक्त पुनर्लेखन/उप-फ़ोल्डरों में रीडायरेक्ट नियमों का है, इसलिए मैं से 301 स्थगित करना चाहते हैं तब तक हो रहा है जब तक कि सभी नियम चलाए जाएं।

क्या यह संभव है? रिवाइट्स को रोकने का विकल्प होता है (stopProcessing = "false") लेकिन यह रीडायरेक्ट के लिए एक विकल्प प्रतीत नहीं होता है।

क्या मैं यहां एसओएल हूं?

उत्तर

6

दुर्भाग्यवश, मैं पुष्टि कर सकता हूं कि स्थगित प्रसंस्करण (stopProcessing="false") केवल पुनर्लेखन कार्यों के साथ काम करता है और इसे पुनर्निर्देशित लोगों द्वारा अनदेखा किया जाता है।

क्या मैचों की संख्या छोटी होनी चाहिए - लेकिन यह आपके प्रश्न के मुताबिक नहीं है - मैंने आपको रेगेक्स विकल्प का उपयोग करके उन्हें गठबंधन करने का सुझाव दिया होगा।

First match: ^first/a$ 
Second match: ^second/b$ 

Combined match: ^(first/a|second/b)$ 

की तरह कुछ करने के लिए अग्रणी: उदाहरण के लिए:

<rule name="MyCombinedRule"> 
    <match url="^(first/a|second/b)$" /> 
    <action type="Redirect" url="http://www.example.com/third/c" /> 
</rule> 
+0

एक अतिरिक्त नोट के रूप में, उप फ़ोल्डरों * * मूल निर्देशिका से नियम साफ कर सकते हैं, लेकिन है कि मैं करने के लिए शासन की नकल करने की जरूरत का मतलब है प्रत्येक उप-निर्देशिका। – Broam

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