加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

在使用ASP.NET MVC的Action方法中使用哪种重定向方法进行SEO? R

发布时间:2020-12-16 09:51:53 所属栏目:asp.Net 来源:网络整理
导读:我正在创建一个支持多种语言的网站. 我还想本地化URL,以便它可以这样工作: www.domain.com/en/contact www.domain.com/de/kontakt 为了达到这个目的,我决定为每种语言使用不同的控制器. 我还添加了将访问者首选语言存储在cookie中的代码. 如果同一用户访问w
我正在创建一个支持多种语言的网站.

我还想本地化URL,以便它可以这样工作:

> www.domain.com/en/contact
> www.domain.com/de/kontakt

为了达到这个目的,我决定为每种语言使用不同的控制器.

我还添加了将访问者首选语言存储在cookie中的代码.

如果同一用户访问www.domain.com,我希望代码检查该cookie,然后使用适当的语言将访问者重定向到索引页面.

为了实现这一点,我在路由的global.asax中有这个代码

routes.MapRoute(
            "Default",// Route name
            "{controller}/{action}/{id}",// URL with parameters
            new { controller = "en",action = "LanguageRedirect",id = UrlParameter.Optional }

然后在en控制器中有LanguageRedirect动作方法:

public ActionResult LanguageRedirect()
    {
        string cultureName="";
        HttpCookie cultureCookie = Request.Cookies["_culture"];

        if (cultureCookie != null)
        {
            cultureName = cultureCookie.Value;
            cultureName = cultureName.Substring(0,2);
        }
        // Some custom code that checks valid languages
        if (!CultureHelper.isValidCulture(cultureName))
            cultureName = "en";

        return RedirectToAction("Index",cultureName);
    }

我不确定什么应该适合SEO的重定向方法?
我应该只使用RedirectToAction还是应该使用RedirectToActionPermanent?

解决方法

您应该使用RedirectToAction(302)而不是RedirectToActionPermanent(301).

如果资源已分配新URI且原始URI不再有效,则应基本上重定向301.

参考:

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

https://webmasters.stackexchange.com/questions/26876/301-redirects-for-regional-variants-of-a-homepage

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读