python - 为什么 Django cms 站点地图 url 在所有浏览器中都不匹配?

标签 python django django-cms

使用测试服务器 http://127.0.0.1:8000/en/sitemap.xml 在 Firefox 中正确返回 XML 站点地图,但在 Chrome 中我得到 404。这是为什么?

所有其他页面的 url 在 Chrome 中路由正常,但这是我得到的站点地图:

Using the URLconf defined in mycms.urls, Django tried these URL patterns, in this order:
    ^media/(?P<path>.*)$
    ^static\/(?P<path>.*)$
    ^en/ ^admin/
    ^en/ ^sitemap\.xml$
    ^en/ ^select2/
    ^en/ ^ ^cms_wizard/
    ^en/ ^ ^(?P<slug>[0-9A-Za-z-_.//]+)/$ [name='pages-details-by-slug']
    ^en/ ^ ^$ [name='pages-root']
    ^en/ ^ ^forms/submit/$ [name='djangocms_forms_submissions']
    The current URL, /en/sitemap.xml/, didn't match any of these.

我的urls.py

admin.autodiscover()

urlpatterns = i18n_patterns('',
    url(r'^admin/', include(admin.site.urls)),  # NOQA
    url(r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap',
        {'sitemaps': {'cmspages': CMSSitemap}}),
    url(r'^select2/', include('django_select2.urls')),
    # url(r'^polls/', include('polls.urls', namespace='polls')),
    url(r'^', include('cms.urls')),
    url(r'^', include('djangocms_forms.urls')),
)

# This is only needed when using runserver.
if settings.DEBUG:
    urlpatterns = patterns('',
        url(r'^media/(?P<path>.*)$', 'django.views.static.serve',  # NOQA
            {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
        ) + staticfiles_urlpatterns() + urlpatterns  # NOQA

Safari 尝试对其进行格式化,但似乎 GET 站点地图正常。在 Firefox 中看起来不错:

<urlset>
    <url>
        <loc>http://example.com/en/</loc>
        <lastmod>2016-11-22</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.5</priority>
    </url>
    <url>
        <loc>http://example.com/en/aboutus/</loc>
        <lastmod>2016-11-22</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.5</priority>
    </url>
    <url>
        ...
</urlset>

最佳答案

对于那些仍然想知道“/”是什么意思而不是简单地更新 url 的人

来自

url(r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap',
        {'sitemaps': {'cmspages': CMSSitemap}}),

url(r'^sitemap\.xml/$', 'django.contrib.sitemaps.views.sitemap',
        {'sitemaps': {'cmspages': CMSSitemap}}),

关于python - 为什么 Django cms 站点地图 url 在所有浏览器中都不匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40753686/

相关文章:

javascript - Bokeh 从 CustomJS 获取值(更改数据源中的值)

python - 扩展形式悄无声息地失败了

python - 创建新顶层时关闭现有顶层。 Tkinter Python 3

Python/rq - 如何将信息从调用者传递给工作人员?

python - Django:无法从模板中的设置呈现 STATIC_URL

python - 多位字段不工作 django-cms

使用 JSON 的 Django 多语言文本字段

Django CMS 和 Rosetta : Can't get template messages translated

使用traceback.print_exc()打印AttributeError的回溯时出现Python TypeError

javascript - django 模板在 javascript 刷新时复制菜单栏的问题