جستجو
منو بسته
3 بهمن 1403

چند زبانه کردن سایت و مشکل Domain Authority

6 سال پیش
#1623
من سایتم را چند زبانه کردم ولی الان با تغییر زبان آدرس سایت هیچ تغییر نمیکنه و سایت همچنان بصورت http://DomainName.com نشون می دهد. می خواهم برای زبان انگلیسی به انتهای سایت en/ اضافه کند و آدرس سایت بصورت http://DomainName.com/en باشد.
نقل قول
0
6 سال پیش
#1624
مطلب زیر را در انجمن ببینید:
نمایش fa و en در آدرس سایت
نقل قول
0
6 سال پیش
#1628
من این کار رو انجام دادم ولی یه باگی هست.

ریدایکرت 302 داره میزنه از لحاظ سئو باید 301 بزنه چون 302 اعتبار صفحه رو انقال نمیده به عبارت دیگه domain authority انتقال پیدا نمیکنه و سایت با مشکل مواجه خواهد شد

من دنبال این حالتم که مثلا پیش فرض زبان فارسی هست و زمان زدن domain.com به زبان فارسی باز بشه بدون fa و وقتی زبان رو روی انگلیسی قرار میدهیم بشه domain.com/en
نقل قول
0
6 سال پیش
#1630
وقتی تیک گزینه ذکر شده در پست قبلی را می زنید به تمام روت ها fa یا en  یا هر زبانی که دارید را اضافه می کند.
فایل زیر را باز کنید:
\Presentation\Nop.Web.Framework\Localization\LocalizedRouteExtensions.cs


داخل متد ClearSeoFriendlyUrlsCachedValueForRoutes میتونید یه if بزارید اگه زبان جاری فارسی باشه بیخیالش بشه


        public static void ClearSeoFriendlyUrlsCachedValueForRoutes(this IEnumerable<IRouter> routers)
        {
            if (routers == null)
                throw new ArgumentNullException(nameof(routers));

            //clear cached settings
            foreach (var router in routers)
            {
                var routeCollection = router as RouteCollection;
                if (routeCollection == null)
                    continue;

                for (var i = 0; i < routeCollection.Count; i++)
                {
                    var route = routeCollection[i];
                    (route as LocalizedRoute)?.ClearSeoFriendlyUrlsCachedValue();
                }
            }
        }

دستور if را بالای دستور (route as LocalizedRoute) بنویسید.
نقل قول
2
09127857628