【问题标题】:URL variables are not passing through URL Rewrite engineURL 变量未通过 URL 重写引擎
【发布时间】:2019-04-07 20:30:50
【问题描述】:

我试图通过 IIS 中的 URL 重写引擎传递多个变量,但我只得到一个通过。变量是:“用户名”和“信息”。目前我只得到第一个变量“用户名”来传递到页面。

我在 URL 重写中尝试了多种格式,并尽可能检查了我的语法,但找不到任何错误。下面是代码。

浏览器友好的 URL:

http://localhost/member/csaad78/social

服务器端网址: member.asp?username=csaad78&info=social

URL 重写引擎中的规则:

  <rule name="member social iframe forwarded">
    <match url="^member/([_0-9a-z-]+)/([_0-9a-z-]+)/?$" />
    <action type="Rewrite" url="member.asp?username={R:1}&amp;info={R:2}" appendQueryString="true" />
    <conditions></conditions>
    <serverVariables></serverVariables>
  </rule>

在页面中捕获查询字符串的代码是:

member_name = Trim(request.querystring("username")) info = Trim(request.querystring("info"))

只有变量“用户名”在传递。 “信息”没有被传递。我想让两个都通过!

【问题讨论】:

标签: variables url iis url-rewriting


【解决方案1】:

您可以尝试以下规则和 asp 代码来获取查询字符串参数值:

<rule name="member social iframe forwarded">
            <match url="^member/([_0-9a-z-]+)/([_0-9a-z-]+)/?$" />
            <action type="Rewrite" url="member.asp?username={R:1}&amp;info={R:2}" appendQueryString="true" />
          </rule>

asp 代码:

member_name= <%=Request.QueryString("username")%> info= <%= Request.QueryString("info")%>. 

【讨论】:

  • 感谢您的贡献,但我不确定您的代码与我的不同。这似乎也不起作用。
  • 您的 urlrewrite 代码正在工作,您只需要更改 asp 代码来获取查询字符串参数值。 member_name= info= . OR member_name= info= .
  • 感谢您的帮助!
猜你喜欢
  • 2014-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-13
  • 2011-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多