2014-10-01 39 views
0

我有我的Django項目這個奇怪的問題。我現在使用Django與Apache & mod_wsgi,試圖使其在生產模式下工作,但重定向url似乎不起作用。我只能訪問網站索引頁面,但不能訪問任何子網址。即如果我去site-url.com/quzapp/它顯示索引頁面,這是完全一樣,如果我去site-url.com/Django與mod_wsgi&apache不正確的重定向(無錯誤)

當我在開發服務器上運行它,一切正常正好。我總是定向到期望的頁面。有線的事情是沒有錯誤記錄,即使我已經將日誌設置爲apache配置中的調試級別。

當我檢查的訪問日誌它表明這樣的:

"GET /quzapp/ HTTP/1.1" 200 1935 (the quzapp page) 

"GET/HTTP/1.1" 200 1935  (the site index) 

日誌看起來不錯,但我看不到比site_index.html其他任何網頁...什麼可能是錯誤的?

這裏是網站的簡要結構: 該項目名爲mysite,主要設置文件位於一個子目錄中,同時調用mysite。 quzapp是一個Django應用程序。

mysite/ 
    db.sqlite3 
    manage.py 
    mysite/ 
     settings.py 
     urls.py 
     views.py 
     wsgi.py 
    quzapp/ 
     __init__.py 
     urls.py 
     views.py 
     admin.py 
     forms.py 
     models.py 
     templates/ 
      quzapp/ 
        base.html 
        …... 
    template/ 
     siteindex.html 
     ….. 
    static/… 
    media/…. 

的主要部分的mysite/mysite的/ urls.py:

urlpatterns = patterns('', 
    url(r'^', views.index, name='index'), 
    url(r'^quzapp/',include('quzapp.urls')), 
    url(r'^admin/', include(admin.site.urls)), 
) 

的mysite的/ quzapp/urls.py的主要部分:

urlpatterns = patterns('', 
    url(r'^$', views.initial_form, name='index'), 
    url(r'^allimage/$', views.allimage, name='allimage'), 
    url(r'^admin/doc/', include('django.contrib.admindocs.urls')), 
    url(r'^admin/', include(admin.site.urls)), 

    url(r'^readytostart/$','questionnaires.views.register_success'), 
    url(r'^audio/$', views.audio, name='audio'), 
    url(r'^text/$', views.text, name='text'), 
    url(r'^end/$', views.endpage, name='endpage'), 
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

urlpatterns += staticfiles_urlpatterns() 

我打印出一些文本以查看是否訪問了所有的urls.py文件並且答案是肯定的。打印命令會在error_log中留下文本消息,該消息顯示首先訪問mysite/mysite/urls.py,然後訪問mysite/quzapp/urls.py。

在mysite/mysite/views.py中,它返回render_to_response('siteindex.html')。我想這是我如何訪問siteindex頁面。其他頁面呈現在mysite/quzapp/views.py中。我再次打印出一些文本消息,並在錯誤日誌中顯示mysite/quzapp/views.py文件在訪問mysite/mysite/views.py後訪問。

我想不出什麼問題,並且沒有記錄錯誤,在訪問日誌中狀態碼總是200(好)。有沒有人有關於這個問題的線索?

非常感謝您的幫助!

+1

設置您的索引網址結尾爲「$」:url(r'^ $',views.index,name ='index') – 2014-10-01 08:42:02

+0

謝謝!你是對的。這解決了我的問題:) – Peine 2014-10-01 08:49:52

回答

2

問題出在你的主urls.py:你沒有終止空的正則表達式,所以它匹配所有的東西。請確保使用最終的$:

請注意,您的打印語句不太可能有用,因爲Url和視圖文件都在啓動時加載。您需要將打印語句放入視圖函數中,但您已經知道正在調用哪個視圖。

另外請注意,您不應該在主要的urls.py和quzapp中包含admin urls。

+0

嗨丹尼爾,非常感謝你的親切幫助!這真的解決了我的問題!另外,非常感謝你的建議。我將刪除多餘的管理員網址:) – Peine 2014-10-01 08:45:22