Asp.Net路由-用生成的URL中的短划线替换空格%20
本文关键字:替换 空格 URL 路由 Asp Net | 更新日期: 2023-09-27 18:05:02
可能重复:
StackOverflow是如何生成SEO友好的URL的?
我使用Asp.net 4和路由
我使用这个路线为我的网站创建SEO友好的URL。Title
url paramenter是一个字符串示例"This is a Title",结果我在浏览器中获得了格式为/Content/This%20is%20a%20Title
的url。
我宁愿用可读性更强的破折号替换%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
);
重定向到此URL时,请使用以下命令:
Response.Redirect(Page.GetRouteUrl(
"View Content",
new { Title=(yourtitlehere).ToString().Trim().Replace(" ","-") })
);
我添加了Trim()
。如果标题以空格开头或结尾,服务器可能会认为这是一条不同的路径,并返回一个404: Resource not found
。