1

Request.Querystring()이 올바르게 작동하지 않는 것 같은 이상한 상황이 있습니다. 누락 된 페이지를 모두 리디렉션하도록 Web.Config를 구성했습니다.사용자 지정 클래식 ASP 404 페이지, 쿼리 문자열의 첫 번째 변수를 읽는 중 오류가 발생했습니다.

<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가 쿼리 문자열의 모든 변수를 읽을 수 없습니다. 즉, 첫 번째 변수의 이름이 지저분합니다.

더 잘 설명해 보겠습니다.

http://localhost/IT/?fname=John&lname=Blake 웹 서버가 404.asp로 올바르게 리디렉션됩니다.

이제 이상한. 내 페이지 404.asp는 지저분한 쿼리 문자열에 액세스 할 수 있습니다. 내 원래의 쿼리 문자열하지 내가 올바르게 관리 할 수있는 방법을 찾을 수 없습니다

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

. 왜 안 되니? Request.QueryString("fname")이 올바른 값을 반환하지 않기 때문입니다.

어디서 오류가 있습니까? :)

답변

3

404 페이지가

내가 현재 사용 404;http://localhost:80/IT/?fname=John&lname=Blake에 서 당신이 얻을 결과를 분할 할 것 같다 쿼리 문자열 A와 URL을받습니다

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

이는 newQueryStringArray(1)이 같다는 것을 의미 할 것입니다 to fname=John&lname=Blake

그런 다음 원하는 방식으로 조작 할 수 있지만 위와 유사한 방법을 사용하여 &을 구분 기호로 사용하고 = sig 나는 오류를 의심 없지만으로 N 그래서 http://classicaspreference.com/aspexamples/custom404.asp

+0

을 시도해보십시오 값

를 얻기 위해, 그것을 작동하는 방법! – Vincenzo

+0

어떻게 작동합니까? 당신이 묻는다면 확실하지 않거나 ... – pee2pee