2015-01-05 24 views
0

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

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 /自动添加到我的网址的结尾,我想消除的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

你必须定义按照你的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. 
+0

感谢您的答复!这对于解决问题的第二部分非常有用。在我的主URL中键入现在可以按照我的意愿重定向到主页面。然而,在我的生产服务器上,同样的问题仍然存在当我在浏览器中键入www.example.com时,我仍然收到相同的错误: (当前URL public_html /不匹配其中任何一个)。 Public_html仍然被追加到我的URL末尾并导致我的所有URL都有问题 –

+0

在您的生产服务器中,可能在您的托管服务器中存在另一个包含public_html的默认urls.py。核实。 或在你的settings.py中设置root url url – jatin

+0

我试过了你的两条建议,不幸的是他们都没有工作。唯一的urls.py文件是我的项目中的那些,它按预期工作。实际上,我使用我的开发服务器时,我的当前django配置完美。 public_html /问题只发生在我的生产服务器上。而且我不能为我的数字找出导致public_html /被追加到我的网址的原因 –