我有我的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(好)。有没有人有关于这个问题的线索?
非常感谢您的帮助!
设置您的索引网址结尾为“$”:url(r'^ $',views.index,name ='index') – 2014-10-01 08:42:02
谢谢!你是对的。这解决了我的问题:) – Peine 2014-10-01 08:49:52