2011-10-17 3 views
3

우리는 python/django를 기반으로 실행되는 응용 프로그램을 가지고 있습니다. 나는 누락 된 링크 (404) 또는 서버 오류 (500)가있을 때마다 전자 메일을받습니다. 나는 다음과 같은 링크를 발견했다.간헐적 인 잘못된 URL

Referrer: http://www.mywebsite.com/model/ 
Requested URL: /model/js/modernizr-1.7.min.cb14102011.js 
User agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; GTB7.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) 
IP address: 41.2.246.84 

문제는 요청 된 URL이다. 절대 경로가 아닌 현재 디렉토리에 상대적으로 js 파일을 요청합니다. 기이하게 만드는 것은 내가 그것을 재현 할 수 없다는 것이다. 사이트에 많은 사용자가 있더라도 하루에 몇 번씩 발생한다. 누락 된 링크의 결과로 인해 (응용 프로그램에 대해 정의한 장고 URL 구조로 인해) URL에 따라 때때로 500 개의 오류가 발생합니다.

전에 이런 종류의 문제를 본 사람이 있습니까? 이 문제를 해결할 수 있는지 확인해야 할 사항이 있습니까?

편집 : JS 파일 http://www.mywebsite.com/static/js/를 통해 액세스되는 동일한 구성은 CSS 파일에 적용됩니다. 추가 조사에서 '정적 인'부분이 URL에서 삭제 된 것으로 보입니다.

편집 (2) 어제 실수였습니다. {{STATIC_URL}}이 (가) 설정 파일에 정의 된대로 연결되지 않을뿐만 아니라 현재 (상대) URL로 바뀝니다. 즉, 원래 게시물에서 "모델"은 "정적"이어야하지만 그 것처럼 대체되지는 않습니다. 나는 왜 이런 일이 일어나는가에 대해서는 여전히 손해를보고있다.

+1

정말 반복적 인 문제가 거의 있었지만, 페이지 폭탄에 대한 모든 URL에 대해 모든 그래픽 파일에 대해 404 초. 불행히도, 나는 당신을위한 해결책이 없습니다. 기본 템플릿을 변경했는데 문제가 사라진 것처럼 보였습니다. 나는 파헤쳐서 범인이 무엇인지 찾아 낼 기회가 없었습니다. 이 문제에 대한 해결책을 직접 듣는 데 관심이 있습니다. D –

+0

문제를 자세히 설명해야합니다. 요청 URL은 무엇이되어야합니까? 장고에서 정적 파일 제공은 어떻게 구성되어 있습니까? –

+0

아마도 이러한 요청을 보내는 봇입니다. 그럴 수 있니? – akonsu

답변

1

감사합니다. Dennis and Jordan. 귀하의 의견은 많은 도움이되었습니다.

제 시나리오의 경우 1 개의 URL에서만 문제가 발생한다는 것을 알았습니다. 많은 템플릿이 동일한 기본 템플릿을 사용하기 때문입니다. 나는 기본적인 템플릿 문제를 배제했다. 또한 문맥이 올바르게 추가되었는지 확인하기 위해 url의 뷰를 확인했습니다. 컨텍스트 없이는 STATIC_URL 변수가 가져올 수 없었기 때문입니다. 문제 없다.

또한 로그에서 IE7 만 보았습니다. 내가 템플릿을 보았을 때 나는 추가로 닫는 것을 알아 차렸다. "(ie class ="bogus ""). 나는 여분의 따옴표가 템플릿을 엉망으로 만든 것으로 생각하고, IE7은 나머지 템플릿을 렌더링하는 데 문제가 있었다.

프로덕션 환경에서 변경된 사항을 적용 했으므로 100 % 확신하지 못하고 문제가 해결되었지만 하루 정도 지나면 알 수 있습니다.

편집 : 대답은, 나는 깨달았다, 코딩 문제가있는 경우 (즉, 서버가 500를 throw)는 사실에있다 은 다음 상황에 맞는 올바르게로드, 그래서되지 않습니다 STATIC_URL이 채워지지 않습니다. 또한 각 500 오류는 STATIC_URL에서로드 된 파일에 대해 404 오류가 발생 함을 의미합니다.

+0

이것이 어떻게 진행되었는지 듣기 좋습니다. 문제가 해결되는 것 같으면 알려주십시오. –

관련 문제