我正在使用带有django框架的Python用于Web应用程序。 我已经创建了一个urls.py条目来提供robots.txt文件,但由于某种原因,它似乎无法提供它。
url(r'^robots.txt$', 'support.views.robot_file',name="robot_file"),
此方法适用于具有非常相似的条目的sitemap.xml
url(r'^sitemap.xml', 'support.views.sitemap_file',name="sitemap_file"),
这使我相信只服务robots.txt文件是一个问题,因为当我更改它以服务robot.txt它的工作原理。
有人可以提出一些指示,说明为什么会发生这种情况吗?
答案 0 :(得分:5)
你似乎正在使用apache - 你的apache配置中可能有一些东西正在打破robots.txt - 也许是一个“Alias /robots.txt /somewhere/that/doesn't/exist.txt”。
答案 1 :(得分:0)
你拼错了robots.txt
。如果是复制粘贴,那就是你的问题。
也可能是您的网络服务器配置尝试从其他地方服务器robots.txt
。您提出robots.txt
时会收到哪些具体错误?
另外,使用ctrl-k
或WYSIWYG编辑器中的代码按钮格式化代码。
答案 2 :(得分:0)
我的工作解决方案如下:
(r'^robots.txt$', 'my_project.views.robots'),
我的观点:
def robots(request):
template = 'robots.txt'
context = {}
return render_to_response(template, context,
context_instance=RequestContext(request))
答案 3 :(得分:0)
我认为最好让静态文件由您正在使用的网络服务器提供。在我看来,它只是为Django创造了一个不必要的开销。