На моем локальном django runserver я создал пользовательское templates/404.html
, и это не работает без проблем. Однако в производстве с apache
это пользовательское 404.html
больше не показывается (даже с DEBUG=False
).
Я просто получаю белую страницу с
Not Found
The requested URL /blahblah was not found on this server.
Я не полагаю, что это даже не django значение по умолчанию, а скорее что-то, чтобы сделать с апачем.
Как я говорю апачу позволять django обработать 404 с?
После всего этого я просто забыл установить необходимые разрешения на шаблон на производственном сервере (я запускаю mod_wsgi
в демоническом режиме как 'djangoUser'), поэтому мне понадобилось
dr-x------ djangoUser djangoUser templates
dr------- djangoUser djangoUser templates/404.html
d'oh.
.Вы должны включить обработчик error404 в приложении Django (см. https://stackoverflow.com/questions/17662928/django-creating-a-custom-500-404-error-page) для получения более подробной информации о том, как это сделать.
.