我想用urlrewriter.net模块实现url-重写到一个want应用程序中。
这是我现在的场景(数字是虚构的):Browse.aspx?cid=9&countryid=85 (cid代表类别id)
现在,我想要类似于这个分类名称/antiyname.html的东西。
所以我想这可能有用,但它不起作用。这是我第一次用这个,我一定是漏了什么东西。
<rewrite url="~/(.+)/(.+).html" to="~/Browse.aspx?cid=$1&countryid=$2" />也许我需要在$1和$2上使用标题而不是id,但是这样的话,我想就很难查询东西了吗?在实际应用中,具有很强的改造意义。
有人能帮我把头振作起来吗?
你好,谢谢你的阅读,马克
发布于 2009-12-05 03:02:56
看起来您的示例会将~/9/85.html重写为Browse.aspx?cid=9&countryid=85。
我猜你是在找更友好的东西。
要解决这个问题,请考虑一下如何在页面中生成*.html URL。您可以将类别和国家名称嵌入其中,然后在执行URL重写时忽略它们。
发布于 2009-12-05 05:53:12
你必须用你现在正在做的方式来查找页面上的id。意思是/ Meaning /us.html将变成browse.aspx?cid=mycategory&countryid=us
有两种解决办法。
1)传入国家名称和类别名称,并在browse.aspx中查找数据库
2)将id添加到url中。有点像http://www.mysite.com/1/2/mycategory/us.html。web.config设置为:
<rewrite url="~/(\d+)/(\d+)/(.+)/(.+).html" to="~/Browse.aspx?cid=$1&countryid=$2" />希望这能有所帮助。
发布于 2009-12-05 13:53:55
可能,请求无法到达urlrewriter.net模块,因为IIS将其视为对特定文件的请求,而不是对ASP.NET的请求。
https://stackoverflow.com/questions/1850942
复制相似问题