我正在使用iis7 URL Rewrite
模块,它工作正常,除了两件事。对于这个新手,我可能会遗漏一些明显的东西。
1)我的URL转换自
www.mysite.com/search.aspx?fName=John&sName=Smith
到www.mysite.com/John/Smith
。这样可以正常工作,但如果我添加一个尾随/
,网站上的一些图像就会消失,而有些则不会。 (他们都在同一个地方)。但是,搜索结果很好。
2)是否可以选择cerain querystrings?服务器端,这是实现的(即,如果没有输入任何内容,则采用默认值)。但是如何使用URL重写模块呢?
例如www.mysite.com/John
将搜索John
并使用sName
参数的默认值。
感谢您的帮助。
答案 0 :(得分:1)
我担心可选的查询字符串参数,但是图像应该相当容易:
您如何在标记中声明图像路径?如果您使用相对路径(即src="../Images/someimage.png"
,则向URL添加尾部斜杠告诉浏览器/ Images /文件夹位于文件夹/ John /下,而不是位于站点的根目录。
如果您使用的是HTML <img />
标记,则应该更喜欢虚拟路径:src="/Images/someimage.png"
- 这会告诉浏览器从您网站的根目录请求图像路径。
如果您的应用程序未在站点的根目录中运行,您还可以使用作为页面和控制对象树一部分的ResolveUrl方法,这允许您传入虚拟路径表单~/Images/someimage.png
,框架将确定正确的路径应该是什么。