2013-03-13 9 views
7

मैं क्लासिक एएसपी एप्लीकेशन पर काम कर रहा हूं। मैंने कुछ पृष्ठों पर यूआरएल पुनः लिखने का उपयोग किया है।पृष्ठ का वर्तमान यूआरएल प्राप्त करें (यूआरएल यूआरएल रीवाइट)

क्लासिक एएसपी में पेज का वर्तमान यूआरएल कैसे प्राप्त कर सकता हूं?

उदाहरण: http://www.site.com/page.asp ---> IIS में URL रीराइट --->http://www.site.com/home/page

इसलिए यहाँ मैं पृष्ठ है http://www.site.com/home/page

कृपया मेरी मदद की वर्तमान यूआरएल चाहते हैं। धन्यवाद।

+0

आप नहीं कर सकते इसे 'Request.ServerVariables ("server_name") और Request.ServerVariables ("url")' के साथ पढ़ें। सुनिश्चित नहीं है कि यह यूआरएल को फिर से लिखने के साथ भी काम करता है ... –

+0

कोई अनुरोध नहीं है। सर्वरवेरीबल्स ("server_name") = www.site.com और Request.ServerVariables ("url") = page.asp – Maddy

+0

क्या आप इनमें से किसी भी उत्तर को चिह्नित कर सकते हैं अगर वे आपके लिए सहायक थे? यदि नहीं, तो कृपया हमें बताएं ताकि हम समाधान पा सकें। – Konrad

उत्तर

11

तुम इतनी तरह उत्पादन करने के लिए सभी ServerVariables कोशिश कर सकते हैं:

for each key in Request.Servervariables 
    Response.Write key & " = " & Request.Servervariables(key) & "<br>" 
next 

हो सकता है कि आपने जो URL की तलाश पहले से ही वहाँ है। हम रीवाइट मॉड्यूल का उपयोग करते हैं और वहां एक सर्वर वैरिएबल है जिसे HTTP_X_ORIGINAL_URL कहा जाता है जिसमें पुनः लिखित यूआरएल पथ शामिल है, उदा। आपके उदाहरण में "/ home/page"।

प्रोटोकॉल (HTTPS=ON/OFF) और सर्वर (SERVER_NAME) सर्वरवारीबल्स में भी पाया जा सकता है।

18

कोई फैंसी एक समारोह नहीं है जो यह सब करता है।

सबसे पहले आप प्रोटोकॉल प्राप्त करने के लिए (अगर यह हमेशा http नहीं है) की जरूरत है:

Dim protocol 
Dim domainName 
Dim fileName 
Dim queryString 
Dim url 

protocol = "http" 
If lcase(request.ServerVariables("HTTPS"))<> "off" Then 
    protocol = "https" 
End If 

अब वैकल्पिक क्वेरी स्ट्रिंग के साथ आराम:

domainName= Request.ServerVariables("SERVER_NAME") 
fileName= Request.ServerVariables("SCRIPT_NAME") 
queryString= Request.ServerVariables("QUERY_STRING") 

url = protocol & "://" & domainName & fileName 
If Len(queryString)<>0 Then 
    url = url & "?" & queryString 
End If 

यह आप के लिए काम करता है आशा है।

0

आप URL पुनर्लेखन का उपयोग करते हैं, यूआरएल डेटा केवल इस तरह से प्राप्त किए जा सकते: ("HTTP_X_ORIGINAL_URL")

Request.ServerVariables

उदाहरण

Dim domainName, urlParam 
domainName = Request.ServerVariables("SERVER_NAME") 
urlParam = Request.ServerVariables("HTTP_X_ORIGINAL_URL") 
response.write(domainName & urlParam) 
संबंधित मुद्दे