【发布时间】:2011-12-22 14:53:07
【问题描述】:
我想将 URL 小写并在其末尾添加一个斜杠。 例如
mydomain.com/About -> mydomain.com/about/
mydomain.com/about -> mydomain.com/about
这是因为 Google Analytics(分析)将所有这些 URL 视为完全不同的。
我在 web.config 中有以下重写规则:
<rewrite>
<rules>
<rule name="Redirect mydomain.com to www" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions>
<add input="{HTTP_HOST}" pattern="mydomain.com" />
</conditions>
<action type="Redirect" url="http://www.mydomain.com/{R:0}" />
</rule>
</rules>
</rewrite>
任何帮助将不胜感激!
【问题讨论】:
-
我不记得有什么语法,但我想指出,在 MVC3 中,如果您使用 Url.Action 或 Url.Route 方法,它们将不会创建 URL处理大小写/斜线的东西,所以每次链接点击都会导致重定向,这不好。我过去解决这个问题的方法是实际编写一个自定义路由实现,使我所有的路由 url 的 seo 友好,如果不是,可以 301。
-
如果某些内容会出现 404,这些重定向也会导致误报,因为它们会在第一个请求上响应 301,然后在第二个请求上响应 404,从而对您的服务器造成不必要的请求。
标签: asp.net-mvc-3 url-rewriting web-config