使用Bluehost的Django应用程序的URL配置问题

时间:2015-01-05 16:23:36

标签: django apache .htaccess fastcgi bluehost

我正在使用Bluehost将Django应用程序部署到生产服务器,但一直看到我的网站的404页面。问题似乎是我的URL配置。当我在浏览器中输入http://www.example.com/时,我会收到以下内容:

Request URL:    http://www.example.com/public_html/

^main/
^admin/
^accounts/
^media/(?P<path>.*)$
etc..

The current URL, public_html/, didn't match any of these

public_html /自动添加到我的URL的末尾我想完全消除public_html /所以我的URL模式将按预期工作。例如

Request URL:    http://www.example.com/

然后将重定向到

Request URL:    http://www.example.com/main/

如何将默认设置从http://www.example.com/public_html/更改为http://www.example.com/

我的fcgi文件:

AddHandler fcgid-script .fcgi
RewriteEngine on
RewriteBase /
RewriteRule ^(media/.*)$ - [L]
RewriteRule ^(adminmedia/.*)$ - [L]
RewriteCond %{REQUEST_URI} !(cgi-bin/mysite.fcgi)
RewriteRule ^(.*)$ cgi-bin/mysite.fcgi/$1 [L]

我的.htaccess文件:

#!/home/username/python/bin/python
import sys, os

sys.path.insert(0, "/home/username/python")
sys.path.insert(13, "/home/username/MySite")

os.environ['DJANGO_SETTINGS_MODULE'] = 'MySite.settings'

from django.core.servers.fastcgi import runfastcgi

runfastcgi(method="threaded", daemonize="false")

这可能是我的文件位于我的服务器上的问题吗?如果有人遇到过这种问题,我会非常感谢你提出一些建议。谢谢!

1 个答案:

答案 0 :(得分:1)

您必须在urls.py,

中定义以下网址
url(r'^$', 'views.home', name='home')
url(r'^main/$', 'views.main', name='main')

然后在views.py

def home(request):
    return HttpResponseRedirect('/main/')

def main(request):
    #some code here.