2012-02-08 2 views
3

특정 웹 서버에 매우 이상한 문제가 있습니다. 우리는 웹 서버에 직접 액세스 할 수 없으며 FTP 액세스 만 가능합니다.ASP.NET - 설명 할 수없는 404 오류의 이상한 경우

ASP.NET 응용 프로그램은 표준 GridView에 데이터 집합을 표시합니다. GridView의 열 중 하나는 기본 템플릿 열이며 다른 페이지로 리디렉션되는 링크는 거의없는 매개 변수를 전달합니다.

매개 변수 중 하나는 EmployeeName이고 다음 페이지는 해당 매개 변수를 사용하여 레이블을 설정합니다. 특정 웹 서버 (이 예에서는 WEBSERVER1) ON

는 ... 결과 링크가 다른 웹 서버 (이 예에서는 WEBSERVER2)의 오류 (404) (없는 페이지)

https://WWW.WEBSERVER1.COM/Customer_011B.aspx?WeekEnding=1/21/2012&GUID=n.a.&EmployeeName=Knutson-Haushalter, Kathleen&ReportToName=Mary Jo Eayrs&Assignment_Id=123772

를 생성한다. 결과 링크가 페이지를 제대로 엽니 다.

http://WWW.WEBSERVER2.COM/Customer_011B.aspx?WeekEnding=1/21/2012&GUID=n.a.&EmployeeName=Knutson-Haushalter, Kathleen&ReportToName=Mary Jo Eayrs&Assignment_Id=123772

(불행하게도 링크는 위의

예, 나는 WEBSERVER1가 SSL에서 실행되고 있는지 알고

제대로 렌더링되지 않습니다 -. 그러나이 차이를 만들 이유를 잘 모르겠습니다

을 지금 우리는 Customer_011B.aspx 페이지가 실제로 WEBSERVER1에 있음을 확인했습니다.

여기에 퍼즐이 있습니다.

EmployeeName 매개 변수 만 제거하면 페이지가 올바르게 표시됩니다. 모든 데이터베이스 작업은 올바르게 수행됩니다. 유일한 "문제점"은 EmployeeName이 대상 레이블에보고되지 않는다는 것입니다. 즉

:

이 작동하지 않고 우리가 얻을 수있는 모든 오류 (404)

https://WWW.WEBSERVER1.COM/Customer_011B.aspx?WeekEnding=1/21/2012&GUID=n.a.&EmployeeName=Knutson-Haushalter, Kathleen&ReportToName=Mary Jo Eayrs&Assignment_Id=123772

이가하는 일이며 우리가 페이지에 도착하고 우리가 필요한 모든 데이터를 검색 할 수 있습니다.

https://WWW.WEBSERVER1.COM/Customer_011B.aspx?WeekEnding=1/21/2012&GUID=n.a.&ReportToName=Mary Jo Eayrs&Assignment_Id=123772

그냥 당신이 궁금해하는 경우에, 우리의 데이터 액세스 계층에 필요한 유일한 매개 변수는 Assignment_Id 번호입니다.

또한, 귀하의 URL에 parametres을 배치 ... 제대로 렌더링 할 수 있도록 내가 ... 따옴표에있는 링크를 동봉 된 것을

+0

이것은 이상합니다. 웹 서버 1에서 페이지/코드가 다를 수 있습니까? 404에 대한 IIS 로그 란 무엇입니까? –

+0

이 일을합니까 : "https://WWW.WEBSERVER1.COM/Customer_011B.aspx?WeekEnding=1/21/2012&GUID=na&EmployeeName=Knutson-Haushalter%2C 캐슬린 & ReportToName = 메리 조 Eayrs & Assignment_Id = 123772" 확인이 원하므로 코멘트 형식.% 2C – Malk

+0

쉼표를 html 이스케이프 코드로 대체했습니다. URL에 'EmployeeName'으로 표시된 두 가지 - 대시 (실제로 하이픈이고 n 대시가 아닌지 확인)와 쉼표. 웹 서버와 서버의 설정에 따라 쉼표는 URL의 예약 문자로 동작 할 수는 있지만 작동하지 않을 수 있습니다. 문제 일 수 있습니다. – JimmiTh

답변

0

사용 UrlEncodeUrlDecode을 확인합니다. 공백과 슬래시 및 쉼표를 사용하는 것을 볼 수 있습니다. 슬래시/공백/쉼표 및 다른 잘못된 URL 문자가있는 Parametres는 iis 서버 중 하나에서 사용 가능한 URL 필터로 잘라내거나 변경할 수 있습니다.

관련 문제