我在Global.asax
文件中使用以下代码进行网址重写:
routes.MapRoute(
"BlogArticle",
"Blog/Article/{filename}",
new { controller = "Blog", action = "Article" }
);
这表示以下网址:
/博客/条/博客,文章标题
将加载以下操作:
/博客/条?文件名=博客-文章标题
我注意到原始网址路径仍会加载我的网页。
如果在网站上线几个月后将网址重写添加到网站,则可能会出现问题。 Google已经抓取了原始网址,当它现在抓取网站上的新网址时,它会将其归为duplicate content。
我想象原始网址现在会自动重定向到重写的网址,但事实并非如此。
我认为将这样的内容构建到ASP.NET MVC的核心是有意义的,因为我没有看到仍然可以获得原始URL的优势,并且没有重定向到重写的URL。有没有理由不这样做?
另外,如何阻止原始网址加载内容?有没有办法让301 permanent redirect到重写的网址?
答案 0 :(得分:1)
routes.MapRoute(
"BlogArticle",
"Blog/Article/{filename}",
new { controller = "Blog", action = "Article" }
);
尝试使用更干净的网址,然后在操作
中请求文件名作为参数routes.MapRoute(
"BlogArticle",
"Blog/Article/{filename}",
new { controller = "Blog", action = "Article", filename = UrlParameter.Optional}
);