Есть сайт с unicode url.
И есть log файл uwsgi
И на каждый запрос в лог файл ложится строка вида
[pid: 15640|app: 0|req: 18/82] 95.132.45.171 () {48 vars in 1141 bytes} [Mon Feb 1 01:06:09 2016] POST /ajax/geoip/resolve/ => generated 16 bytes in 110 m secs (HTTP/1.1 200) 6 headers in 323 bytes (1 switches on core 0)
[pid: 15638|app: 0|req: 9/83] 95.132.45.171 () {48 vars in 1145 bytes} [Mon Feb 1 01:06:09 2016] POST /ajax/timezone/client/ => generated 16 bytes in 19 msecs (HTTP/1.1 200) 6 headers in 323 bytes (1 switches on core 0)
[pid: 15639|app: 0|req: 14/84] 95.132.45.171 () {48 vars in 1135 bytes} [Mon Feb 1 01:06:09 2016] POST /ajax/resolution/ => generated 16 bytes in 14 msecs (HTTP/1.1 200) 6 headers in 323 bytes (1 switches on core 0)
[pid: 15641|app: 0|req: 17/85] 95.132.45.171 () {48 vars in 1127 bytes} [Mon Feb 1 01:06:09 2016] POST /ajax/cookie/ => generated 16 bytes in 15 msecs (HTTP/1.1 200) 6 headers in 323 bytes (1 switches on core 0)
[pid: 15642|app: 0|req: 24/86] 68.180.231.30 () {32 vars in 440 bytes} [Mon Feb 1 01:06:08 2016] GET / => generated 23229 bytes in 1277 msecs (HTTP/1.1 200) 8 headers in 449 bytes (1 switches on core 0)
[pid: 15640|app: 0|req: 19/87] 130.193.51.61 () {38 vars in 951 bytes} [Mon Feb 1 01:06:19 2016] GET /%D1%84%D0%BE%D1%80%D0%BC%D0%B0-%D0%B4%D0%BB%D1%8F-%D1%84%D0%BE%D1%80%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-%D1%82%D0%BE%D1%80%D1%82%D0%B0-%D0%BA%D1%80%D1%83%D0%B3%D0%BB%D0%B0%D1%8F-%D1%80%D0%B0%D0%B7%D0%B4%D0%B2%D0%B8%D0%B6%D0%BD%D0%B0%D1%8F-d-21-32/%D0%BF003161/ => generated 17260 bytes in 753 msecs (HTTP/1.1 200) 9 headers in 495 bytes (1 switches on core 0)
Всё нормально отрабатывает - отдает как мы видим 200 код. Все ГУД.
НО.
Бывают URL следующего содержания.
Traceback (most recent call last):
File "/usr/www/envs/keksik_com_ua/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 189, in __call__
response = self.get_response(request)
File "/usr/www/envs/keksik_com_ua/lib/python2.7/site-packages/django/core/handlers/base.py", line 173, in get_response
response = debug.technical_404_response(request, e)
File "/usr/www/envs/keksik_com_ua/lib/python2.7/site-packages/django/views/debug.py", line 571, in technical_404_response 'reason': force_bytes(exception, errors='replace'),
File "/usr/www/envs/keksik_com_ua/lib/python2.7/site-packages/django/utils/encoding.py", line 157, in force_bytes for arg in s)
File "/usr/www/envs/keksik_com_ua/lib/python2.7/site-packages/django/utils/encoding.py", line 157, in <genexpr> for arg in s)
File "/usr/www/envs/keksik_com_ua/lib/python2.7/site-packages/django/utils/encoding.py", line 158, in force_bytes return six.text_type(s).encode(encoding, errors)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 85-89: ordinal not in range(128)
[pid: 15640|app: 0|req: 1/3] 46.33.254.179 () {38 vars in 1008 bytes} [Mon Feb 1 00:43:20 2016] GET /%C3%91%E2%80%9E%C3%90%C2%BE%C3%91%E2%82%AC%C3%90%C2%BC%C3%91%E2%80%B9-%C3%90%C2%BA%C3%91%E2%82%AC%C3%91%C6%92%C3%90%C2%B3-8/%C3%90%C2%BF000991/' => generated 0 bytes in 204 msecs (HTTP/1.1 500) 0 headers in 0 bytes (0 switches on core 0)
Загнав последний url в uri_to_url и затем декодировав полученный результат .decode('cp1252') я получаю абсолютно нормальный результат который теоретически читаем django.
Подскажите, как и где преобразовав этот url сделать редирект на номальный url?