1

我使用iis7 URL Rewrite模块,它工作正常,除了两件事情。作为新手,我可能会错过一些明显的东西。 1)我的网址从 www.mysite.com/search.aspx?fName=John&sName=Smith 转换为www.mysite.com/John/Smith。这工作正常,但如果我添加尾随/,网站上的一些图像消失,有些则不会。 (他们都在同一个位置)。但是,搜索结果很好。iis7 url rewrite - 可选查询字符串参数

2)是否可以使cerain querystrings成为可选项?服务器端,这是实现的(即如果没有输入,则假定默认值)。但是,这将如何与URL重写模块一起工作? 例如www.mysite.com/John会搜索John并使用sName参数的默认值。

感谢您的任何帮助。

+0

我有同样的问题,你在第1点解释。 – Hiral 2013-03-14 07:03:05

+0

接受的答案显示了我如何解决第一个问题。 – keyboardP 2013-03-14 11:16:21

+0

对不起,我得到你的第二点作为问题,但它适用于2查询字符串,但不与3 :( – Hiral 2013-03-14 12:04:38

回答

1

我不能使用可选的查询字符串参数恐怕帮忙,但图像应该是相当容易:

你是如何在声明您的标记成像路径?如果您使用的是相对路径(例如src="../Images/someimage.png",那么向URL添加尾部斜杠就是告诉浏览器/ images /文件夹位于/ John /文件夹下,而不是位于网站的根目录下。如果您的应用程序不能在站点的根目录运行此告诉浏览器从您的网站的根请求图像路径

,你 - src="/Images/someimage.png":使用HTML <img />标签,你应该更喜欢虚拟路径。也可以使用ResolveUrl方法,该方法是页面和控制对象树的一部分,这允许您传入形式为~/Images/someimage.png的虚拟路径,并且框架将确定正确的路径应该是什么。

+0

不能相信我错过了,我看着错误的母版页,它有相同的按钮,只是不同的位置。嗯!谢谢,图像问题已修复。 – keyboardP 2010-03-10 00:19:18

+0

我设法通过添加另一个规则来重写第2部分,并使用了一个没有可选参数的URL作为模板。然后,在服务器上,我只是检查每个参数,如果它缺少,我将它分配给一个默认值。 – keyboardP 2010-03-10 01:34:12