2013-06-21 8 views
8

हमारे पास मेरी वेबसाइट प्रोजेक्ट में 300 से अधिक पेज हैं। उस समय हमने एक नया सर्वर बनाया है जो सुरक्षित है। यह सर्वर विशेष रूप से वेबसाइट की सभी छवियों के लिए उपयोग किया जाता है।यूआरएल प्रत्येक पृष्ठ में फ़ोल्डर पथ को प्रतिस्थापित करने के लिए आईआईएस के लिए नियम पुनर्लेखन

  • छवियों के लिए वर्तमान कार्यान्वयन (aspx में, सीएसएस में)

    http://www.mysite.com/assets/common/image1.jpg 
    
  • कभी कभी वेबपेज में

    और सीएसएस यह इस

    ~/assets/common/image1.jpg   
    
    की तरह निर्दिष्ट किया जाता है:

    तो यहाँ

    परिदृश्य है

  • इस तरह somethig का उपयोग करना चाहते हैं।

    http://www.static.mysite.com/common/image1.jpg 
    
  • और के लिए सुरक्षित पृष्ठों

    https://www.static.mysite.com/common/image1.jpg 
    

तो जैसा कि आप सभी छवियों ~/assets फ़ोल्डर से आ रहे हैं लेकिन अब मैं http://static.mysite.com

के साथ एक नियम ~/assets जगह बनाना चाहते हैं देख सकते हैं

मैं फिर से लिखने के नियम का उपयोग कर आईआईएस में इसे कैसे प्राप्त कर सकता हूं।

उदाहरण:

ASPX

<img src="/assets/common/image1.jpg" id="ImageId1" alt="Image" width="100" height="100" /> 

<img src="http://mysite.com/assets/common/image2.jpg" id="ImageId2" alt="Image" width="100" height="100" /> 

, आईआईएस नियम है जब कोड ऊपर पाता है, यह http://static.mysite.com/common/image1.jpg

<img src="http://static.mysite.com/common/image1.jpg" id="ImageId1" alt="Image" width="100" height="100" /> 


<img src="http://static.mysite.com/common/image2.jpg" id="ImageId2" alt="Image" width="100" height="100" /> 

उत्तर

8

आप IIS में जावक नियम बनाना होगा। नियम का पालन करना होगा:

  1. पूर्वशर्त केवल html फ़ाइलें की जाँच करनी चाहिए लिंक की जांच करने के लिए
  2. पैटर्न
  3. (मैं डिफ़ॉल्ट IsHTML प्रयुक्त) जिसमें आप चाहते हैं में तत्वों का चयन "के साथ सामग्री से मेल खाने वाला" ^(.*)/assets/(.*)
  4. है
  5. कार्य गुण http://static.mysite.com/ {R: 2} है। आर: 2 नियमित रूप से अभिव्यक्ति में दूसरे() को संदर्भित करता है। आप "टेस्ट पैटर्न" बटन के क्लिक के बाद आपको क्या चाहिए इसकी जांच कर सकते हैं।

सरल नियम जो ऊपर से मिलता है Bellow:

enter image description here

+0

'web.Config' का उपयोग करके इसे कॉन्फ़िगर कैसे करें, मैं सभी' छवियों 'फ़ोल्डर, 'css' और' js' को सामग्री फ़ोल्डर के अंदर एज़ूर सीडीएन को इंगित करने के लिए चाहता हूं? – stom

+0

@stom सभी उपरोक्त परिवर्तन web.config में दिखाई दे रहे हैं ताकि आप उन्हें कॉपी-पेस्ट कर सकें –

3

के साथ बदलें आप इस

<rule name="assets redirection" stopProcessing="false"> 
    <match url="^(.*)/(assets)/(.*)" ignoreCase="false" /> 
    <action type="Redirect" url="{R:1}/{R:3}" /> 
</rule> 
कोशिश कर सकते हैं चाहेंगे

यह रीडायरेक्ट करेगा whatever/assets/common/image1.jpgwhatever/common/image1.jpg को

अद्यतन:

<rule name="assets redirection" stopProcessing="false"> 
    <match url="^(.*)/(assets)/(.*)" ignoreCase="false" /> 
    <action type="Redirect" url="static.mysite.com/{R:3}" /> 
</rule> 
+0

मैं इसे http://static.mysite.com/common/image1.jpg पर http://mysite.com/assets/ –

+0

@ patel.milanb को बदनाम करने के लिए क्षमा करके इसे रीडायरेक्ट करना चाहता हूं लेकिन कृपया उदाहरण दें आसान समझ – Satpal

+0

कृपया मेरे संपादन देखें .. –

2

उम्म कुछ कैसे आप इस

string imageUrl= Request.Url.Scheme + "://" + Request.Url.Authority + "/Image/logo/Logo.png"; 

योजना की तरह कर सकते हैं अपने वेब योजनाएं http या https आदि प्राधिकरण है यदि कोई हो तो बंदरगाह के साथ आपका वेब डोमेन नाम। फिर यहां यह आपकी छवि यूआरएल पूरी तरह से चला जाता है।

मैंने एसएसआर रिपोर्ट सेवा के लिए इस लोगो यूआरएल का उपयोग किया है और ठीक हो गया है। उम्मीद है कि यह आपके लिए काम करेगा।

टिप्पणियां और प्रश्नों का स्वागत है। धन्यवाद।

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