मेरे पास एक ASP.NET MVC एप्लिकेशन है जो एक ऐसे मार्ग के साथ है जो / खोज / <खोजकर्ता> के माध्यम से सामान खोजने की अनुमति देता है।
जब मैं "खोज / एबीसी" की आपूर्ति करता हूं तो यह अच्छी तरह से काम करता है, लेकिन जब मैं आपूर्ति करता हूं "/ खोज / ए + बी + सी" (सही तरीके से एन्कोड किया गया) तो IIS7 HTTP त्रुटि 404.11 के अनुरोध को अस्वीकार करता है ( अनुरोध फ़िल्टरिंग मॉड्यूल को अस्वीकार करने के लिए कॉन्फ़िगर किया गया है अनुरोध है कि एक डबल भागने अनुक्रम होता है )। सभी के अनुसार, यह ऐसा क्यों करता है? यह केवल त्रुटि को फेंकने के लिए लगता है यदि यह URL का हिस्सा है, लेकिन क्वेरी स्ट्रिंग (/ संचारित? Q = a + b + c ठीक काम करता है) के भाग के रूप में नहीं।
अब मैं अपने web.config के सुरक्षा अनुभाग में डबल एस्केप अनुरोधों को सक्षम कर सकता हूं लेकिन मैं ऐसा करने में संकोच कर रहा हूं क्योंकि मुझे इसके निहितार्थ समझ में नहीं आते हैं, और न ही सर्वर अनुरोध को अस्वीकार क्यों करेगा "a + b + c" के रूप में URL का हिस्सा लेकिन एक क्वेरी स्ट्रिंग के भाग के रूप में स्वीकार करें।
क्या कोई समझा सकता है और कुछ सलाह दे सकता है कि क्या करना है?
/search/a%2520b%2520c
मार्क- अप के साथ समाप्त हो गया, जिसके कारण एक सुंदर "संभावित संभावित Request.Path मान क्लाइंट (%)" त्रुटि से पता चला था। आप इसे जीत नहीं सकते लगता है।