31

robots.txt を提供する現在の方法は次のとおりです。

url(r'^robots\.txt/$', TemplateView.as_view(template_name='robots.txt',
                                            content_type='text/plain')),

これが最善の方法だとは思いません。単なる純粋な静的リソースであり、静的に提供された方がよいと思います。しかし、私のジャンゴアプリが構造化されている方法は、静的ルートと後続のすべての静的ファイルが配置されていることです

http://my.domain.com/static/stuff-here

何かご意見は?私はdjangoの素人ですが、

 TemplateView.as_view(template_name='robots.txt',
                                  content_type='text/plain')

nginxで提供されている静的ディレクトリへの静的呼び出しよりもはるかに多くのリソースを消費しているように見えます。

4

2 に答える 2

64

はい、ファイルが静的な場合、robots.txt は Django によって提供されるべきではありません。Nginx 構成ファイルで次のようなことを試してください。

location  /robots.txt {
    alias  /path/to/static/robots.txt;
}

詳細については、こちらを参照してください: https://nginx.org/en/docs/http/ngx_http_core_module.html#alias

favicon.ico ファイルがある場合は、同じことが当てはまります。

Apache config の同等のコードは次のとおりです。

Alias /robots.txt /path/to/static/robots.txt
于 2013-08-25T00:09:26.347 に答える