可能重复:
How does StackOverflow generate its SEO-friendly URLs?
我使用Asp.net 4和路由
我使用此路线为我的网站创建SEO友好URL。
Title
url paramenter是一个字符串示例“这是一个标题”,因此我在浏览器中使用此格式/Content/This%20is%20a%20Title
获取了该网址。
我希望将%20替换的空格用更可读的短划线,例如:/Content/This-is-a-Title
。
知道怎么做吗?感谢您对此的帮助
routes.MapPageRoute(
"View Content", // Route name
"Content/{Title}", // Route URL
"~/Cms/FrontEndCms/Content.aspx" // Web page to handle route
);
答案 0 :(得分:2)
重定向到此网址时,请使用以下内容:
Response.Redirect(Page.GetRouteUrl(
"View Content",
new { Title=(yourtitlehere).ToString().Trim().Replace(" ","-") })
);
我添加了Trim()
。如果标题以空格开头或结尾,则服务器可能认为它是不同的路径并返回404: Resource not found
。