2011-01-05 6 views
5

में जो कुछ भी देखता है उससे अलग मेजबान लौटा सकता है कहें कि मेरे पास http://www.mypage.com/test.aspx के माध्यम से एक दूरस्थ पृष्ठ एक्सेस किया गया है। उस पृष्ठ पर मैं कोड Request.ServerVariables ["HTTP_HOST"] का उपयोग करता हूं। ToString()। क्या यह संभव है कि जब मैं पृष्ठ तक पहुंचता हूं तो कोड यूआरएल बार में दिखाई देने वाली तुलना में एक अलग यूआरएल वापस कर सकता है जो http://www.mypage.com/test.aspx है? किसी भी सहायता की सराहना की जाएगी। धन्यवाद।क्या यह संभव है कि अनुरोध। सर्वरवेरीबल्स ["HTTP_HOST"]। ToString() यूआरएल बार

+0

खेद? इस मूल्य के बीच क्या अंतर है? –

+0

मैं एक दूरस्थ साइट डीबग करने की कोशिश कर रहा हूं जिसमें मेरे पास सर्वर तक पहुंच नहीं है। एक फ़ाइल खोलने के लिए उपर्युक्त कोड का उपयोग कर रहे पृष्ठों में से एक पर। दुर्भाग्यवश जब यह फ़ाइल खोलने का प्रयास करता है तो उसे नहीं मिल रहा है, और मुझे आश्चर्य है कि यह उपरोक्त कोड के कारण हो सकता है। मैंने पहले ही जांच की है और फाइल सर्वर पर है। – Ben

+0

जब मैं सर्वर पर एक फ़ाइल खोलने की कोशिश कर रहा हूं, तो मैं वर्तमान सर्वर (सर्वर पर) के पथ को प्राप्त करने के लिए आमतौर पर Server.MapPath ["।"] का उपयोग करता हूं। – tgolisch

उत्तर

3

आप किसी भी नाम को देख सकते हैं जिसे आईआईएस आपके वेब उदाहरण से बंधे हैं। इसलिए, यदि आपके सर्वर को "server1" कहा जाता है और आईपी पता 123.123.123.123 है और उनमें से तीन आईआईएस के आपके उदाहरण के लिए बाध्य हैं, तो आप इनमें से किसी भी मूल्य को देख सकते हैं।

किन नामों को बाध्य करने के लिए, "इंटरनेट इनफॉर्मेशन सर्विसेज (आईआईएस) प्रबंधक" (प्रारंभ, प्रशासन उपकरण) खोलें, पेड़ का विस्तार करें जब तक कि आप अपनी साइटें न देखें। आप जिस का उपयोग कर रहे हैं उसे ढूंढें। राइट-क्लिक करें और "बाइंडिंग्स" चुनें। सूची में प्रत्येक बाइंडिंग संपादित करें। यदि वे सभी कहते हैं [आईपी पता:] "सभी असाइन नहीं किया गया", तो आपका HTTP_HOST 1 हो सकता है। WWW पता जिसे आपने DNS के माध्यम से कॉन्फ़िगर किया है, 2. मशीन का नाम 3. आईपी पता (एसएस)।

0

यह संभव है, हाँ। एक isapi_rewrite मॉड्यूल HTTP_HOST के मान को संशोधित कर सकता है इससे पहले कि आपका कोड इसका निरीक्षण कर सके।

+0

क्या आपको पता है कि यह संभव है कि मेरा कोड चल रहा है और isapi_rewrite से पहले url को पकड़ रहा है? – Ben

+0

आईआईएस का कौन सा संस्करण? – Amy

+0

मुझे लगता है कि वे IIS6 – Ben

1

इस्तेमाल करने की कोशिश:

HttpContext.Current.Request.ServerVariables["SERVER_NAME"]

मैं आशा करता हूं कि यह काम हो जाएगा।

0

किसी ने पहले से ही स्थानीय रीवाइटर (isapi_rewrite) का उल्लेख किया है, लेकिन आपके सर्वर को प्रकाशित करने वाले आईएसए सर्वर की तरह दूरस्थ भी हैं। यह मूल होस्ट हेडर (क्लाइंट में प्रवेश किया गया) भेजने के लिए कॉन्फ़िगरेशन चीज़ है, या प्रकाशन सेटिंग्स में दर्ज किए गए हैं।

1

मुझे भी HttpContext.Current.Request.ServerVariables ["HTTP_HOST"] के साथ समस्या का सामना करना पड़ रहा था और इसे समझ लिया गया। होस्टनाम को पुनर्प्राप्त करने का सबसे अच्छा तरीका "HttpContext.Current.Request.Url.Host" है। यह मेरी समस्या को दोबारा बदल दिया।

धन्यवाद, राज

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