2009-03-30 23 views
12

में लोअर केस यूआरएल /Controller/Action के बजाय /controller/action देकर, कम मामले में यूआरएल उत्पन्न करने के लिए रूटिंग इंजन को मजबूर करना/विस्तार करना संभव है?एएसपी.नेट एमवीसी

+0

हाँ, मुझे लगता है कि यह करता है। सुनिश्चित नहीं है कि इसमें कोई एसईओ प्रभाव है या नहीं, लेकिन यह बहुत बेहतर नरक दिखता है। –

उत्तर

4

हां, बस इसे वैश्विक.एक्सएक्स फ़ाइल में रूटिंग में बदलें।

@ सभी पूछते हैं कि यह महत्वपूर्ण है: हाँ मैं सोचता हूं कि यह महत्वपूर्ण है। कम मामले में यूआरएल होने से बस बेहतर दिखता है।

हर बार जब आप कुछ कर सकते हैं तो अच्छा लग रहा है, बिल बुक्सटन एक बिल्ली का बच्चा मारता है।

+0

वाह, बिल बुक्सटन हर्ष है! – SirDemon

+0

मुझे लगता है कि पिछले 12 महीनों में मिक्स या रीमिक्स करने वाला कोई भी व्यक्ति किसी उत्पाद में बेक जाने की आवश्यकता वाले डिज़ाइन के महत्व पर बिग बिली बी (स्वीकार्य रूप से काफी रोचक) रेंट के माध्यम से बैठना पड़ा है। –

16

और भी, आपको किसी भी आने वाले अनुरोधों को मजबूर करना चाहिए जो को लोअरकेस संस्करण में रीडायरेक्ट किया गया है। सर्च इंजन यूआरएल केस-सेंसिटिवली का इलाज करते हैं, जिसका अर्थ है कि यदि आपके पास एक ही सामग्री के कई लिंक हैं, तो उस सामग्री की पेज रैंकिंग वितरित की जाती है और इसलिए पतला हो जाता है।

ऐसे लिंक के लिए HTTP 301 (स्थायी रूप से स्थानांतरित) लौटने से सर्च इंजन इन लिंक को 'विलय' कर देगा और इसलिए केवल आपकी सामग्री का एक संदर्भ होगा।

अपने Global.asax.cs फाइल करने के लिए कुछ इस तरह करें:

protected void Application_BeginRequest(object sender, EventArgs e) 
{ 
    // Don't rewrite requests for content (.png, .css) or scripts (.js) 
    if (Request.Url.AbsolutePath.Contains("/Content/") || 
     Request.Url.AbsolutePath.Contains("/Scripts/")) 
     return; 

    // If uppercase chars exist, redirect to a lowercase version 
    var url = Request.Url.ToString(); 
    if (Regex.IsMatch(url, @"[A-Z]")) 
    { 
     Response.Clear(); 
     Response.Status = "301 Moved Permanently"; 
     Response.StatusCode = (int)HttpStatusCode.MovedPermanently; 
     Response.AddHeader("Location", url.ToLower()); 
     Response.End(); 
    } 
} 
+3

ध्यान दें कि यह क्वेरी पैरामीटर की केस संवेदनशीलता पर भी विचार करेगा, जो एप्लिकेशन के आधार पर कोई समस्या हो सकती है या नहीं (यह निश्चित रूप से कुछ चीजों के लिए होगी जो मैंने काम किया है)। – roryf

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