nginx转发404给django

ginkgodia 2016-09-22

要设置图片缓存,所以图片都是经过nginx转的,

location /media/ {
             expires 7d;
             add_header Pragma public;
            add_header Cache-Control "public, must-revalidate, proxy-revalidate";
             alias /home/djangoproject/media/;
             break;
         }

服务器上有些图片丢失了,因为经过nginx,就会显示

404 Not Found


nginx/1.4.6 (Ubuntu)

改进,先做一个404的转发page

在项目的url中加入

urlpatterns = patterns('',
    .......
    url(r'^404page$', 'home.views.error404', name='404page'),
    .......

views中添加

def error404(request):
    return render(request, '404.html', locals())

在templates目录下写一个404.html页面

Django部分OK

然后改nginx.conf

在server下添加一行

error_page 404 = /404page;

就OK啦,

相关推荐

lwplvx / 0评论 2020-11-22
岁月如歌 / 0评论 2020-07-21