【发布时间】:2012-04-15 23:50:58
【问题描述】:
我在 Global.asax 文件中使用以下代码进行 url 重写:
routes.MapRoute(
"BlogArticle",
"Blog/Article/{filename}",
new { controller = "Blog", action = "Article" }
);
这意味着以下网址:
/博客/文章/博客文章标题
将加载以下动作:
/Blog/Article?filename=blog-article-title
我注意到原始 URL 路径仍会加载我的页面。
如果在网站上线几个月后将 URL 重写添加到网站,这可能会导致问题。 Google 已经抓取了原始网址,当它现在抓取网站上的新网址时,会将其归类为 duplicate content。
我原以为原来的 URL 现在会自动重定向到重写的 URL,但事实并非如此。
我认为将这样的东西内置到 ASP.NET MVC 的核心中是有意义的,因为我看不到仍然可以获取原始 URL 并且不会重定向到重新编写的 URL 的优势。没有这样做有什么原因吗?
另外,如何防止原始 URL 加载内容?有没有办法让301 permanent redirect 改写后的 URL?
【问题讨论】:
标签: asp.net-mvc-3 url-rewriting seo url-routing