自定义经典的ASP 404页面,错误读取查询字符串的第一个变量



我发现了一个奇怪的情况,其中Request.Querystring()似乎不能正常工作。我已经配置了Web。配置重定向所有丢失的页面。

<system.webServer>
  <httpErrors errorMode="Custom" existingResponse="Replace">
    <remove statusCode="404" subStatusCode="-1" />
    <error statusCode="404" subStatusCode="-1" responseMode="ExecuteURL" path="/404.asp" />
  </httpErrors>
</system.webServer>

它工作,但页404.asp不能读取querystring中的所有变量。更具体地说,第一个变量有一个混乱的名称。

让我们试着更好地解释。

我打开http://localhost/IT/?fname=John&lname=Blake, web服务器正确重定向到404.asp.

奇怪的是。我的页面404.asp访问了一个混乱的查询字符串。

Response.Write(Request.QueryString())打印404;http://localhost:80/IT/?fname=John&lname=Blake

那不是我原来的查询字符串,我找不到正确管理它的方法。为什么不呢?因为Request.QueryString("fname")没有返回正确的值

错误在哪里?:)

404页面接收URL作为查询字符串,看起来

我会拆分你得到的结果,目前站在404;http://localhost:80/IT/?fname=John&lname=Blake使用:

dim newQueryStringArray
newQueryStringArray= Split(Request.QueryString(),"?")

这就意味着newQueryStringArray(1)等于fname=John&lname=Blake

你可以按照你想要的方式操作,但我将使用与上面类似的方法,使用&作为分隔符,然后使用=符号来获得值

试试http://classicaspreference.com/aspexamples/custom404.asp

相关内容

  • 没有找到相关文章

最新更新