使用 Apache/FastCGi 在子 URL 下部署 django 项目

使用 Apache/FastCGi 在子 URL 下部署 django 项目

我正在尝试在 hostgator 托管上的子 URL 下部署 django 项目。以下是我所遵循的教程:http://support.hostgator.com/articles/django-with-fastcgi

我的 index.fcgi 如下所示:

#!/usr/bin/python2.7
import sys, os

sys.path.insert(0, "/home/my_project_dir")
sys.path.insert(0, "/home/my_project_dir/my_project/")
os.chdir("/home/my_project_dir/my_project/")
os.environ['DJANGO_SETTINGS_MODULE'] = "my_project.settings"

from django.core.servers.fastcgi import runfastcgi
runfastcgi(method="threaded", daemonize="false")

.htaccess 如下所示:

AddHandler fcgid-script .fcgi
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.fcgi/$1 [QSA,L]

这两个文件都放在子目录中,/home/my_project_dir/public_html/dir/sub/问题是当我尝试访问 www.mydomain.com/dir/sub/ 时出现 404 资源未找到错误。

答案1

在您的 access_log 文件中搜索 404 消息,它将表明 RewriteRule 是否匹配。

grep " 404 " access_log

你会看到

 127.0.0.1 - - [11/May/2012:23:50:56 +0100] "GET /index.fcgi/XXXX HTTP/1.1" 404 123

或者

 127.0.0.1 - - [11/May/2012:23:50:56 +0100] "GET /XXXX HTTP/1.1" 404 123

第二个表示重写不匹配......

相关内容