안녕하십니까.URL의 ASP.NET 공백 또는 % 20
공백이있는 존재하지 않는 URL을 처리 할 때 ASP.NET 엔진에서 이상한 동작이 발견되었습니다.
우리는 this 같은 정상적인 URL이있을 때 : https://stackoverflow.com/questions/tagged1/C 23 %
(있는 경우) 개발자가 의도 한대로 우리가 정상적인 사용자 정의 404 페이지를 얻을.
하지만 여기 버그가 있습니다. this과 같은 공백을 추가하기 만하면 https://stackoverflow.com/questions/tagged/c % 23
이 표시되며 불쾌한 ASP.NET 404 오류 페이지가 표시됩니다. 그러한 페이지가 표시되어야하는지 여부는 또 다른 이야기입니다. 나는 이미 많은 테스트를 거쳐 디버깅 연구를했으며,이 상황에서 모든 커스텀 핸들러는 무시되고 글로벌 애플리케이션 클래스 (Application_Error
in global.asax
)에 도달하지 못했다고 말할 수있다. 사실 이 상황을 ASP.NET에서 어떻게 처리 할 수 있는지 알 수 없습니다. 어떤 아이디어?
메모와 마찬가지로이 동작은 ASP.NET 및 ASP.NET MVC와 관련이 있습니다 (StackOverflow.com 예제와 같이). 다른 사이트를 방문한 결과 Microsoft.com조차도이 범주에 속하는 것으로 나타났습니다 (this : http://www.microsoft.com/en/us%20/default.aspx 참조). 또한 % 20 시퀀스의 공백을 더 나은 결과로 대체 할 수 있습니다.
나는 그 방법을 시도 할 것이다. 그러나 이상한 것은 : 우리 응용 프로그램의 일부 오류 처리기가 실행되고 그 날을 저장하려고 시도하지만 Application_Error가 무시된다는 것입니다. 이 이상하지 않니? :) – terR0Q
그것을 시도, 도움이되지 않습니다. 웹 사이트에 대한 모든 종류의 오류 404 오류에 대한 대상 URL을 설정하고 ASP.NET은 여전히 자체 메시지를 제공합니다. 또한 web.config에서 customErrors를 사용하면 작동하지 않습니다. – terR0Q