Спорадические неправильные URL - PullRequest
3 голосов
/ 17 октября 2011

У нас есть приложение, работающее на python / django.Я получаю электронные письма, когда отсутствует ссылка (404) или ошибка сервера (500).Я заметил, что получаю несколько ссылок, которые выглядят примерно так:

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 относительно текущего dir, а не абсолютного dir.Что делает его странным, так это то, что я не могу его воспроизвести, и это происходит несколько раз в день, хотя на сайте много разных пользователей.Последствия пропущенных ссылок также иногда приводят к 500 ошибкам, в зависимости от URL-адреса (из-за структуры URL-адреса django, которую я определил для приложения).

Кто-нибудь видел подобную проблему раньше?Есть ли что-то, что я должен проверить, чтобы решить эту проблему?

Редактировать: Доступ к js-файлам осуществляется через http://www.mywebsite.com/static/js/ Та же конфигурация применима к файлам css.При дальнейшем расследовании кажется, что «статическая» часть удаляется из URL.

Edit (2) Вчера я допустил ошибку.Мало того, что {{STATIC_URL}} не работает, как определено в файле настроек, он заменяется текущим (относительным) URL-адресом.Т.е. в оригинальном посте «модель» должна быть «статичной», но не заменена как таковая.Я до сих пор не понимаю, почему это происходит.

1 Ответ

1 голос
/ 18 октября 2011

Спасибо, Деннис и Джордан.Ваши комментарии мне очень помогли.

Для моего сценария я заметил, что проблемы случаются только на 1 URL.Поскольку многие шаблоны используют один и тот же базовый шаблон.Я исключил проблему с базовым шаблоном.Я также проверил представления URL-адреса, чтобы убедиться, что контекст был добавлен правильно (поскольку без контекста переменная STATIC_URL может не пройти).Все хорошо.

Я тоже видел только IE7 в логах.Когда я посмотрел на шаблон, я заметил дополнительное закрытие "(т.е. class =" bogus "").Я думаю, что лишняя цитата испортила шаблон, и IE7 затем испытал проблемы с отображением остальной части шаблона.

Я внес изменения в производство, поэтому не уверен на 100%, что исправил проблему,но я узнаю в течение дня или около того.

Редактировать: Ответ, как я понял, заключается в том, что, если есть проблема с кодированием (то есть сервер выдает500), тогда контекст не загружается правильно, и поэтому STATIC_URL не заполняется.Это также означает, что каждая ошибка 500 будет иметь соответствующую ошибку 404 для любых файлов, загруженных из STATIC_URL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...