【问题标题】:Rewrite URL to exclude Django application name重写 URL 以排除 Django 应用程序名称
【发布时间】:2017-08-09 07:48:17
【问题描述】:

在我的实时服务器上,我正在尝试删除/重写在 URL 中包含应用程序名称的需要,因为没有它我会得到 404。例如:

http://www.example.com/myapp/page.htmlhttp://www.example.com/page.html

这特别棘手,因为我不希望这影响不包括应用程序名称的 django 管理 URL。

这是在共享主机 (A2) 上的 Ubuntu 上的 Apache 服务器上。

【问题讨论】:

  • 你的 urls.py 是什么?
  • 这是我的主要(非应用特定)URLS.py: 'from django.conf.urls import include, url from django.contrib import admin urlpatterns = [ url(r'^drdotcom/', include('drdotcom.urls')), url(r'^admin/', include(admin.site.urls)), url(r'^tinymce/', include('tinymce.urls')), ]

标签: django apache .htaccess url routes


【解决方案1】:

你是根 urls.py 很可能看起来像这样:

"""
Definition of urls for api.
"""

from django.conf import settings
from django.conf.urls import include, url
from django.conf.urls.static import static
from django.contrib import admin

urlpatterns = [
    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    url(r'^admin/', admin.site.urls),
    url(r'^myapp/', include('myapp.urls'))
]

当您将r'^myapp/' 替换为r'^' 时,应用程序将自动尝试,如果在此之前没有其他内容适合(因此最好将其放在列表末尾)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-26
    • 2020-09-09
    • 2015-01-12
    • 2020-11-27
    • 1970-01-01
    • 2014-12-07
    • 1970-01-01
    • 2012-12-24
    相关资源
    最近更新 更多