【问题标题】:iis7 url rewrite - optional querystring parametersiis7 url rewrite - 可选的查询字符串参数
【发布时间】:2010-03-09 23:04:40
【问题描述】:

我正在使用iis7 URL Rewrite 模块,它工作正常,除了两件事。作为新手,我可能会遗漏一些明显的东西。 1) 我的 URL 从 www.mysite.com/search.aspx?fName=John&sName=Smithwww.mysite.com/John/Smith。这很好用,但如果我添加尾随 / ,网站上的一些图片会消失,而有些则不会。 (它们都在同一个位置)。但是,搜索结果很好。

2) 是否可以将 cerain 查询字符串设为可选?服务器端,这是实现的(即,如果没有输入任何内容,则采用默认值)。但是这将如何与 URL 重写模块一起工作? 例如www.mysite.com/John 将搜索 John 并为 sName 参数使用默认值。

感谢您的帮助。

【问题讨论】:

  • 我遇到了与您在第 1 点中解释的相同的问题。
  • 接受的答案显示了我是如何解决第一个问题的。
  • 抱歉,我认为您的第二点是问题,但它适用于 2 个查询字符串但不适用于 3 :(

标签: asp.net iis-7 url-rewriting query-string optional-parameters


【解决方案1】:

恐怕我无法使用可选的查询字符串参数,但图像应该相当简单:

您如何在标记中声明图像路径?如果您使用的是相对路径(即src="../Images/someimage.png",那么在 URL 中添加尾部斜杠会告诉浏览器 /Images/ 文件夹位于 /John/ 文件夹下,而不是位于站点的根目录下。

如果您使用 HTML <img /> 标签,您应该更喜欢虚拟路径:src="/Images/someimage.png" - 这告诉浏览器从您网站的根目录请求图像路径。

如果您的应用程序没有在站点的根目录中运行,您还可以使用作为页面和控件对象树一部分的ResolveUrl 方法,这允许您传入@ 形式的虚拟路径987654325@,框架会计算出正确的路径应该是什么。

【讨论】:

  • 不敢相信我错过了。我正在查看错误的母版页,它具有相同的按钮,只是位置不同。啊!谢谢,图像问题已解决。
  • 我设法通过添加另一个规则并使用没有可选参数的 URL 作为模板来重写第 2 部分。然后,在服务器上,我简单地检查了每个参数,如果缺少,我给它分配了一个默认值。
猜你喜欢
  • 2023-02-09
  • 2015-03-25
  • 1970-01-01
  • 2022-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-02
  • 1970-01-01
相关资源
最近更新 更多