मेरी asp.net कोर एप्लिकेशन (कोणीय 4 सामने के छोर) में मैं इस तरह का URL स्वीकार करते हैं:आगे नए सिरे से लिखना एक क्वेरी पैरामीटर में स्लैश
example.com/report;url=http%3A%2F%2Fexample2.com
मैं रीराइट नियम है कि लोगों को प्रवेश करने की अनुमति बनाना चाहेंगे निम्नलिखित यूआरएल:
example.com/report;url=http://example2.com
मुझे यह नहीं पता कि यह कैसे किया जाए।
मैंने कोशिश की:
var options = new RewriteOptions()
.AddRewrite(@"(.*);url=http:\/\/([^;]*)(.*)", "$1;url=http%3A%2F%2F$2$3", skipRemainingRules: false)
.AddRewrite(@"^report.*", "index.html", skipRemainingRules: true)
app.UseRewriter(options);
यह काम नहीं किया लेकिन तो भी यह किया था यह यूआरएल डोमेन के बाद स्लैश है, यानि कि उप निर्देशिका के लिए खाते में नहीं होता। एक समूह मिलान पैटर्न का उपयोग करना मुझे लगता है कि ऐसा करना असंभव है। इसे & मिलान किए गए समूह पर प्रकार के ऑपरेशन को प्रतिस्थापित करने की आवश्यकता है।
अन्य वेबसर्वरों में यह स्लेश को डीकोड करने के लिए कॉन्फ़िगर करने योग्य विकल्प के रूप में है। मुझे एएसपीनेट कोर डॉक्स में इसका कोई संदर्भ नहीं मिल रहा है। क्या यह संभव है?
का मूल्य एन्कोड करने के लिए AFAIK आप अपने बीच एक रिवर्स प्रॉक्सी का उपयोग करने के लिए है है। नेट-कोर ऐप और इंटरनेट। मैंने इसके लिए Nginx का इस्तेमाल किया। क्या आपने वहां फिर से लिखने की कोशिश की है? मुझे लगता है कि यह काम करना चाहिए। बीटीडब्लू, कुछ और के रूप में निर्देशिकाओं का उपयोग करना एक अच्छा विचार नहीं है, जब तक कि वे आपकी एमवीसी संरचना से संबंधित न हों, लेकिन फिर आप पुन: लिखने का उपयोग नहीं करेंगे, आप नियंत्रकों को पैटर्न से मिलान करेंगे (या सरल सीएमएस के लिए, सबकुछ से मेल खाने के लिए 1 नियंत्रक का उपयोग करें और फिर नियंत्रक के भीतर यूआरएल-एस को संसाधित करें)। यदि एमवीसी का उपयोग करते हैं तो आप आवश्यकता होने पर 'रीडायरेक्ट' प्रतिक्रिया वापस कर सकते हैं। – Harry
आप अपने ऐप को होस्ट करते हैं? आईआईएस, nginx, आत्म-होस्टिंग? – Evk
आप पैरामीटर को वास्तव में पैरामीटर रखने के लिए क्वेरी स्ट्रिंग का उपयोग क्यों नहीं कर सकते हैं यानी '?' का उपयोग करें और अपना यूआरएल 'example.com/report? Url = http: // example2.com' पर बदलें? और फिर आपको शायद किसी भी यूआरएल को फिर से लिखने की आवश्यकता नहीं होगी। – SergGr