簡體   English   中英

嘗試訪問網站的域名時為什么會出現404錯誤,但是如果我的域名/住所能正常工作?

[英]Why am I getting a 404 error when trying to access my website's domain name, yet if I domain name/home it works?

好吧...讓我們嘗試清楚地解釋一下。 我使用Python Django創建了動態網頁/網絡應用。 完成網站后,我已使用DigitalOcean發布了該網站,並將我購買的域名成功附加到DigitalOcean的名稱服務器上。 當我訪問我的網站ordinanceservices.com時,出現錯誤404。 但是,如果我鍵入ordinanceservices.com/home,它將正常運行並顯示主頁。 如何通過編輯python文件,將其保存到ordinanceservices.com將顯示主頁而不是錯誤404的位置? 我覺得我正在執行的某些操作從根本上來說對我的.urls結構是錯誤的,因此不需要在nginx配置中進行重寫/重定向。

這是具體的錯誤:

找不到頁面(404)

請求方法:GET

要求網址: http : //ordinanceservices.com/

Django使用django_project.urls中定義的URLconf,按以下順序嘗試了以下URL模式:

^管理員/

^ ^ home / [name ='home']

^ ^ contact / [name ='contact']

^ ^ services / [name ='services']

當前網址與此不匹配。

我有點了解這里發生了什么,盡管我不知道該如何解決。 接下來,我將為每個包含以下內容的文件夾提供.urls文件:

/ django_project urls.py

from django.conf.urls import patterns, include, url

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',


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

/公司urls.py

from django.conf.urls import url, include
from . import views

urlpatterns = [
    url(r'^home/', views.home, name='home'),
    url(r'^contact/', views.contact, name='contact'),
    url(r'^services/', views.services, name='services'),

]

/ company views.py

from django.shortcuts import render

def home(request):
    return render(request, 'company/home.html')

def contact(request):
    return render(request, 'company/contact.html')

def services(request):
    return render(request, 'company/services.html')

我的目標是編輯我的Python文件的url和視圖結構,以確保常規URL ordinanceservices.com實際上將顯示一個URL,而無需使用nginx配置文件來重定向主URL。頁; 最好是我網頁的首頁。

我有一個預感,這與我沒有r'^ admin /'可以到達的views.index有關。 我不確定,但已經嘗試了好幾個小時了。 有人知道我能做什么來解決這個問題嗎?

您尚未在根URL上定義任何內容。 在公司的urls.py中再添加一行,使其成為

//company urls.py
from django.conf.urls import url, include
from . import views

urlpatterns = [
    url(r'^$', views.home, name='home'),
    url(r'^home/', views.home, name='home'),
    url(r'^contact/', views.contact, name='contact'),
    url(r'^services/', views.services, name='services'),

]

首先,檢查您是否在settings.py中將www.yourdomain.comyourdomain.com添加到ALLOWED_HOST = ['www.yourdomain.com','yourdomain.com']

然后在您的公司/urls.py中執行此操作

from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^$', views.home, name='home'),
    url(r'^contact/$', views.contact, name='contact'),
    url(r'^services/$', views.services, name='services'),

]

並在您的主要urls.py中添加此代碼

from django.conf.urls import url,include
from django.contrib import admin
admin.autodiscover()

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM