【问题标题】:Redirect django blog. I want that the url http://example.com redirects automatically to http://example.com/blog/重定向 django 博客。我希望 url http://example.com 自动重定向到 http://example.com/blog/
【发布时间】:2015-11-30 09:22:31
【问题描述】:

我在 VPS 中有一个用 django 制作的博客。该博客运行良好,但要访问它,我必须编写 URL example.com/blog/

我正在尝试进行自动重定向,因此当用户输入 example.com/ 时,它会自动重定向到 example.com/blog/

项目设置在apache下。

这是我在 myproject/urls.py 中的配置:

urlpatterns = [
url(r'^blog/', include('blog.urls', namespace="blog")),
url(r'^admin/', include(admin.site.urls)),
]

这是 myproject/blog/urls.py 的配置,现在由一个帖子列表和一个帖子详细信息组成:

urlpatterns = patterns('',
# Index
url(r'^(?P<page>\d+)?/?$', ListView.as_view(
    model=Post,
    paginate_by=5,
    ),
    name='index'
    ),
# Individual posts
url(r'^(?P<pub_date__year>\d{4})/(?P<slug>[a-zA-Z0-9-]+)/?$', DetailView.as_view(
    model=Post,
    ),
    name='post'
    ),
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

我已经尝试添加具有不同配置的 .htaccess,但它不起作用。

有没有办法从 django 重定向?

【问题讨论】:

  • 为 example.com/ 编写一个视图并重定向到 /blog
  • 为什么一开始就设置在/blog下呢?为什么不在 / 托管呢?
  • @GeoJacob 感谢您的回复。我不知道我该怎么做,请你设置一个代码示例
  • 你没有说你是如何托管你的网站的,但似乎最好直接在 Apache conf 中完成。

标签: python django


【解决方案1】:

如果您确定希望 / 重定向到 /blog/,您可以创建一个临时索引视图并将响应重定向到 /blog/

url(r'^', temp_index, name='index'),

def temp_index(request):
    return HttpResponseRedirect('/blog/')

如果您希望 / 必须显示 /blog 然后替换

url(r'^blog/', include('blog.urls', namespace="blog")),url(r'^', include('blog.urls', namespace="blog")),

【讨论】:

  • 它不工作。它说页面没有正确重定向。看起来根页面和 /blog/ 页面之间存在冲突。但是,重定向有效。当我把 / 它转到 /blog/
猜你喜欢
  • 1970-01-01
  • 2015-05-21
  • 2020-06-20
  • 1970-01-01
  • 2020-09-24
  • 2012-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多