특정 웹 서버에 매우 이상한 문제가 있습니다. 우리는 웹 서버에 직접 액세스 할 수 없으며 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을 배치 ... 제대로 렌더링 할 수 있도록 내가 ... 따옴표에있는 링크를 동봉 된 것을
이것은 이상합니다. 웹 서버 1에서 페이지/코드가 다를 수 있습니까? 404에 대한 IIS 로그 란 무엇입니까? –
이 일을합니까 : "https://WWW.WEBSERVER1.COM/Customer_011B.aspx?WeekEnding=1/21/2012&GUID=na&EmployeeName=Knutson-Haushalter%2C 캐슬린 & ReportToName = 메리 조 Eayrs & Assignment_Id = 123772" 확인이 원하므로 코멘트 형식.% 2C – Malk
쉼표를 html 이스케이프 코드로 대체했습니다. URL에 'EmployeeName'으로 표시된 두 가지 - 대시 (실제로 하이픈이고 n 대시가 아닌지 확인)와 쉼표. 웹 서버와 서버의 설정에 따라 쉼표는 URL의 예약 문자로 동작 할 수는 있지만 작동하지 않을 수 있습니다. 문제 일 수 있습니다. – JimmiTh