django - 我无法更新 Django 的 RedirectView。它一直引用状态为 301 Moved Permenantly 的旧 URL

标签 django apache http-status-code-301 django-class-based-views

抱歉,如果这个问题应该出现在 Server Vault 中。我真的不知道这是编程错误还是服务器配置错误。

我最近将我的 git 提交推送到实时服务器,我注意到一些非常令人沮丧的事情。

无论我如何编辑 urls.py ,我似乎无法更新 RedirectView !

这是我的根mysite/urls.py

urlpatterns = patterns('',
    url(r'^$', RedirectView.as_view(url=reverse_lazy('order_list')), name='home'),
    url(r'^doors/', include('doors.urls')),
    url(r'^accounts/', include('registration.urls')),
    url(r'^admin/', include(admin.site.urls)),
    url(r'^{}/'.format(settings.DAJAXICE_MEDIA_PREFIX), include('dajaxice.urls')),
)

命名 URL order_list来自我的应用程序之一 urls.py
urlpatterns = patterns('doors.views',
    url(r'^order/$', OrderListView.as_view(), name='order_list'),
    # And more URL patterns...
)

所以基本上我只是改变了r'^orders/$'r'^order/$'在最后一次提交中。但每当我这样做{% url home %} ,我注意到服务器一直试图重定向到 /doors/orders/ 的路径而不是 /doors/order/ .我还注意到重定向是 301 Moved Permanently .

所以我尝试添加permenant=FalseRedirectView并重新启动服务器。但它仍然转到 /doors/orders/并且重定向仍然是 301 (应该是 302 )!

为什么不是我的RedirectView重定向到更新的 URL?

服务器信息

在 Gentoo Linux 上使用 mod_wsgi 和 Django 1.4 运行 Apache 2.2.21

最佳答案

原来301重定向缓存在 浏览器 !

所以我清除了浏览器的缓存,一切正常。当我没有真正理解 301 之间的区别时,很难知道在哪里查找错误。和 302那好吧。我也意识到自从我的RedirectView基本上是一个占位符,直到我写一个真正的家庭模板。我应该使用 permanent=False始终创建 302 .看看docs详情。

关于django - 我无法更新 Django 的 RedirectView。它一直引用状态为 301 Moved Permenantly 的旧 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10513470/

相关文章:

apache - Google SPDY - 有人在 Apache 上使用过它吗?

redirect - 使用 301 重定向将内容从 blogspot 移动到自定义博客

apache - .htaccess 模板

seo - 301 + Canonical 将子域链接到搜索引擎的根域?

python - 过滤夹层中已发布的博客文章

javascript - 什么是格式化 AJAX 响应的好方法?或者,将 Django 模板与 AJAX 一起使用

django - 验证 JSON 数据

java - 检查tomcat是否运行?

apache - 如何让谷歌将我的链接显示为 example.com NOT example.com/

html - 如何让 Django 在数据库中显示我想要的内容