2008-08-05 25 views
29

मैं एएसपी.नेट में यूआरएल को कैसे लिखूं?एएसपी.नेट यूआरएल रिवाइटिंग

मैं http://www.website.com/users/smith के बजाय गोटो करने में सक्षम होना http://www.website.com/?user=smith

+0

चरण-दर-चरण स्पष्टीकरण के लिए नीचे दिए गए लिंक का पालन करें: http://challadotnetfaq.blogspot.com/2011/08/url-rewritting-in-aspnet.html –

उत्तर

23

प्रबंधित फ्यूजन यूआरएल Rewriter की कोशिश करो और रिवर्स प्रॉक्सी उपयोगकर्ता चाहते हैं:

http://urlrewriter.codeplex.com

इस पुनर्लेखन के लिए नियम हैं हो:

# clean up old rules and forward to new URL 
RewriteRule ^/?user=(.*) /users/$1 [NC,R=301] 

# rewrite the rule internally 
RewriteRule ^/users/(.*) /?user=$1 [NC,L] 
+0

एक सुझाव: मैं^जैसा दिखने वाला पहला रिवाइटरूल समायोजित करूंगा^/? उपयोगकर्ता = (\ w *) ताकि http://www.website.com/?users=smith&day=monday http://www.website.com/users/smith&day=monday – Dscoduc

+0

उत्पन्न नहीं करता है अच्छा विचार और इस .NET संस्करण में पूरी तरह से समर्थित है। मूल उद्देश्य मेरा उदाहरण mod_rewrite के साथ संगत बनाना था जो उस वाक्यविन्यास का समर्थन नहीं करता है। –

+0

यह कमाल है। –

20

स्कॉट गुथरी ने इसे मूल रूप से कैसे करना है। नेट काफी बड़े पैमाने पर here

मैंने httpmodule दृष्टिकोण का उपयोग किया है और यह अच्छी तरह से काम करता है। यह मूल रूप से आपके लिए प्रबंधित फ़्यूज़न क्या कर रहा है।

+0

धन्यवाद, स्कॉटगु ब्लॉग पर जगह थी! –

4

मैं यूआरएल बड़ी सफलता के साथ www.urlrewriting.net से पुनर्लेखन के लिए एक HttpModule का इस्तेमाल किया है (हालांकि मैं एक बहुत पहले, सरल संस्करण का मानना ​​है)

आप बहुत कुछ वास्तविक नए सिरे से लिखना नियमों उसके बाद URL .NET 2.0 कर रहे हैं करने के लिए बनाया है, तो मैपिंग शायद एक आसान विकल्प, वेब पर इन्हें कुछ लिखने के लिए, 4guysfromrolla एक काफी संपूर्ण लगता है लेकिन जैसा कि आप देख सकते हैं कि वे नियमित अभिव्यक्ति मैपिंग का समर्थन नहीं करते हैं, ऐसे में एक गतिशील वातावरण में काफी बेकार है (मानते हुए " स्मिथ "आपके उदाहरण में एक विशेष मामला नहीं है तो इनका उपयोग नहीं किया जाएगा)

5

माइक्रोसॉफ्ट अब एक आधिकारिक यूआरएल रिवाइटिंग मोड भेजता है आईआईएस के लिए ule: http://www.iis.net/download/urlrewrite

यह सर्वर चर और वाइल्डकार्ड सेट करने सहित अधिकांश प्रकार की पुनर्लेखन का समर्थन करता है।

यह बॉक्स के बाहर सभी एज़ूर वेब उदाहरणों पर भी मौजूद होगा।

+0

यह दिलचस्प लग रहा है। क्या आपको पता है कि यह आईआईएस 6 पर काम करेगा और नेटवर्क स्तर पर किस स्तर पर बैठेगा? – GateKiller

+0

यह केवल आईआईएस 7 और अप समाधान है (इसका एक मॉड्यूल http://learn.iis.net/page.aspx/121/iis-7-modules-overview/), IIS6 के लिए आपको www.isapirewrite.com की आवश्यकता होगी या www.urlrewriter.net, आईएसपीआई रीराइट आईआईएस 6 –

+0

@ गेटकिल्लर के लिए एक स्थिर वाणिज्यिक उत्पाद की तरह दिखता है :) मेरी पिछली टिप्पणी में आपको सूचित करने के लिए भूल गया –