首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET MVC -如何将"action?id=5“样式的url永久重定向到"action/5”

ASP.NET MVC -如何将"action?id=5“样式的url永久重定向到"action/5”
EN

Stack Overflow用户
提问于 2013-12-27 14:20:36
回答 1查看 444关注 0票数 2

在我的ASP.NET MVC 4应用程序中,我有很多控制器和操作。

默认的路由配置是:

代码语言:javascript
复制
routes.Add(
    new Route(
        url: "{controller}/{action}/{id}",
        defaults: new RouteValueDictionary(
            new {
                controller = "MyController",
                action = "Home",
                id = UrlParameter.Optional
            }
        ),
        routeHandler: new MvcRouteHandler()
    )
);

基于此默认路由配置,以下列方式访问操作(控制器的方法):

http://example.com/controller/action/5

但是,也可以通过以下方式访问它们:

http://example.com/controller/action?id=5

这对SEO (复制内容)是有害的。

是否有一般方法将(301)第二个请求(带有查询字符串)重定向到第一个请求(没有查询字符串的请求)?

有多个参数具有可变参数名的操作,我想不出一个简单的解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-27 17:09:38

如果它用于SEO优化,那么您可以使用规范的Url,如果将其添加到example.com/控制器/action?id=5页上,就可以防止搜索引擎对页面进行重复索引,这样做的目的是让搜索引擎知道--不要将其复制为不同的内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20802272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档