इस सवाल का पहले से ही एक उत्तर है: < / P>
- 3 जवाब
मैं एक बहुभाषी वेबसाइट का निर्माण कर रहा हूं साइटकोर 7.5 में, और मैं हमेशा यूआरएल की शुरुआत में भाषा को दिखाना चाहता हूं, उदा mysite.com/en/article1.aspx
।
इसे प्राप्त करने के लिए, मैंने languageEmbedding = "के साथ ब्लॉग के अनुसार
। अब, जब LinkManager
कॉन्फ़िगरेशन को पैच किया है हमेशा " Sitecore.Context.SetLanguage ()
के माध्यम से भाषा को बदलते समय, यूआरएल इसी प्रकार के लिंक्स कोड पर सही ढंग से बदलता है, जैसे कि लिंक पर निम्नलिखित ... अब तक बहुत अच्छा!
var homeItem = Sitecore.Context.Database.GetItem (& lt; GUID को घर & gt; ); Var url = LinkManager.GetItemUrl (homeItem); (यूआरएल) पुनर्निर्देशित करें;
परिणामस्वरूप यूआरएल mysite.com/en.aspx
है, जो कि Default.aspx नामक एक पृष्ठ को दिखाता है
वेबसाइट रूट फ़ोल्डर में स्थित है । बेशक, मैं इसे mysite.com/en /
को निर्देशित करना चाहता हूं, जो कि दी गई भाषा में घरेलू आइटम से मेल खाती है और मैन्युअल रूप से दर्ज होने पर काम करती है।
ऐसा लगता है मुझे कि LinkManager
में एक बग है, इसलिए यह यूआरएल में भाषा को एम्बेड करते समय सही ढंग से घर के मद को हल नहीं कर सकता। या यह सिर्फ मुझे है जो एक गलती की है?
क्या किसी को इस समस्या को ठीक पता है? पिछला स्लैश जोड़ने के लिए मैं LinkManager
कैसे प्राप्त करूं?
UPDATE यह मेरी सामग्री के पेड़ का एक स्क्रीनशॉट है:
डिफ़ॉल्ट.aspx के बारे में आपको मिलता है यह एक MVC बात संभव है कि आप इसे एक आवेदन को एक global.asax में जोड़कर ठीक कर सकते हैं Application_Start () एक सिस्टम। वेब। रूटिंग। RouteTable.Routes.RouteExistingFiles = true;
संरक्षित शून्य Application_Start () {System.Web.Routing.RouteTable.Routes.RouteExistingFiles = true; }
देखें और
मैं आपकी यूआरएल को अपनी इच्छा के अनुसार नहीं बदलता, लेकिन यह डिफ़ॉल्ट व्यवहार है।
No comments:
Post a Comment