在同一URL中使用请求QueryString和路径信息
本文关键字:QueryString 请求 路径 信息 URL | 更新日期: 2023-09-27 18:21:10
我正在一个现有的大型网站上工作,该网站的不同部分(代表实体商店)使用ID中的查询字符串。
我希望能够实现用于SEO目的的pathinfo请求,所以我正在研究URLS,比如:
http://www.domain.com/cooking-classes.aspx?ID=5(其中5将是本地商店的ID)
有没有办法让这种类型的URL工作?
http://www.domain.com/cooking-classes.aspx?ID=5/chocolate?我可以在没有querystring的情况下使内容正常工作,但是现有的基础结构需要ID才能运行。我试过了:
http://www.domain.com/cooking-classes.aspx/chocolate?ID=5但是ID返回错误。
使用http://www.domain.com/cooking-classes.aspx/5/chocolate是指页面处理引擎的重写。
我在这儿抓救命稻草吗?没有真正的方法让PathInfo和Querystring能够很好地相互配合?
我想远离任何IIS MOD,因为我们没有访问权限。
您的最后一个URL将为搜索引擎产生最佳结果,但您可能需要删除.aspx。您需要编写HttpHandler或HttpModule才能实现这一点。实际上,这并不像看上去那么多工作,而且你根本不需要更改页面。您的HttpHandler可以在保留URL的情况下进行后台重定向。查看MSDN上的这篇文章:
http://msdn.microsoft.com/en-us/library/ms972974.aspx
如果你不需要任何特别的东西,你可以使用一个现有的HttpModule,就像ScottGu博客上的文章中提到的那样:
http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx
他提到了UrlRewriter.net,它是开源的:
http://urlrewriter.net/