Я получил странное сообщение о сломанной ссылке:
Subject: Broken link on googleads.g.doubleclick.net
Referrer: (url on **my** site!)
Requested URL: /pagead/ads?(...)
User agent: (...)
IP address: (some foreign country)
Итак, я взглянул на CommonMiddleware, который отвечает за отправку этих отчетов.
Это выглядит так ( Лицензия Django 1.1 применимо здесь;)):
if response.status_code == 404:
if settings.SEND_BROKEN_LINK_EMAILS:
# If the referrer was from an internal link or a non-search-engine site,
# send a note to the managers.
domain = request.get_host()
referer = request.META.get('HTTP_REFERER', None)
is_internal = _is_internal_request(domain, referer)
path = request.get_full_path()
if referer and not _is_ignorable_404(path) and (is_internal or '?' not in referer):
ua = request.META.get('HTTP_USER_AGENT', '<none>')
ip = request.META.get('REMOTE_ADDR', '<none>')
mail_managers("Broken %slink on %s" % ((is_internal and 'INTERNAL ' or ''), domain),
"Referrer: %s\nRequested URL: %s\nUser agent: %s\nIP address: %s\n" \
% (referer, request.get_full_path(), ua, ip))
Код настолько прост, что совершенно очевидно, что в полученном мною электронном письме Referrer заменяется на host и URL запроса . Я не уверен, что это значит - если это была какая-то пробная версия, какая-то ошибка в Django или, возможно, какая-то ошибка в моем коде (к вашему сведению: Django не был исправлен, а другие broken link
электронные письма верны).
У вас есть идеи, что здесь может быть не так?