【问题标题】:Robots.txt is not servingRobots.txt 未投放
【发布时间】:2011-01-25 14:39:03
【问题描述】:

我正在将 Python 与 django 框架一起用于 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 文件是一个问题,因为当我将其更改为提供 robots.txt 时它可以工作。

有人可以指出为什么会发生这种情况吗?

【问题讨论】:

    标签: django django-urls robots.txt


    【解决方案1】:

    您似乎在使用 apache - 您的 apache 配置中可能有一些东西破坏了 robots.txt - 也许是“别名 /robots.txt /somewhere/that/doesn't/exist.txt”。

    【讨论】:

    • 感谢您的帮助。你是对的,我检查了 apache 设置,我确实将它指向了一个不存在 robots.txt 的静态文件位置。感谢所有的帮助。修复后,robots.txt 正常运行。感谢所有帮助。
    【解决方案2】:

    你拼错了robots.txt。如果那是复制粘贴,那是您的问题。

    也可能是您的网络服务器配置正在尝试从其他地方服务器 robots.txt。当您请求robots.txt 时,您收到什么具体错误?

    另外,使用ctrl-k 或所见即所得编辑器中的代码按钮格式化您的代码。

    【讨论】:

    • 我不好让我格式化 codeurl(r'^robots.txt', 'support.views.robot_file',name="robot_file"),
    【解决方案3】:

    我的工作解决方案如下:

    (r'^robots.txt$', 'my_project.views.robots'),
    

    我的看法:

    def robots(request):
        template = 'robots.txt'
        context = {}
        return render_to_response(template, context,
                               context_instance=RequestContext(request))
    

    【讨论】:

    • 嗨汤姆,它仍然给出错误。你可以在vialogues.com/robots.txt查看它
    • 您的根模板文件夹中有 robots.txt 吗?
    • settings.py RUNMODE = 'dev' 查看详细错误信息?而我不希望您现在看到其他错误。
    • 因为你得到一个 404 似乎它没有找到指定的模板。因此,模板文件夹中可能缺少 robots.txt。
    • 如果我将 urls.py 中的正则表达式从 ^robots.txt$ 更改为例如,它存在于文件夹中^机器人$它的工作原理。只有名称 robots.txt 有问题。
    【解决方案4】:

    我认为最好由您使用的网络服务器提供静态文件。在我看来,这只会给 Django 带来不必要的开销。

    【讨论】:

    • 我肯定在做静态的方式。感谢您指出克里斯。
    • 如果您无权访问您的服务器配置怎么办?
    猜你喜欢
    • 1970-01-01
    • 2015-10-19
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多