带mod_wsgi的Django返回403错误

时间:2010-09-20 07:13:21

标签: django apache2 mod-wsgi http-status-code-403 apache-config

我正在尝试将Django与Apache(和mod_wsgi)一起使用。使用默认的Django网络服务器一切顺利,但现在我在尝试加载页面时遇到403(访问被禁止)错误。我在这里搜索过以前的帖子并阅读官方文档,但那里的解决方案没有帮助。

以下是我httpd.conf中的行:

WSGIScriptAlias / /home/karlis/django/apache/django.wsgi

<Directory /home/karlis/django/apache>
Order allow,deny
Allow from all
</Directory>

Alias /media/ /home/karlis/django/media

<Directory /home/karlis/django/media>
Order deny,allow
Allow from all
</Directory>

权限设置为770,并且粘滞位设置为/ home / karlis / django下的所有文件夹。我有django 1.2.3,mod_wsgi 3.2,apache 2.2.15,我运行Arch Linux。

我在这里做错了什么?

提前致谢! -skazhy

3 个答案:

答案 0 :(得分:1)

Apache作为特殊用户运行,它将无法读取具有770权限的内容。

观看演讲:

http://code.google.com/p/modwsgi/wiki/WhereToGetHelp?tm=6#Conference_Presentations

解释了有关权限的事情。

解决问题的关键是Apache错误日志中出现的错误消息。您甚至没有说明您在日志文件中收到的错误消息。链接的话题显示了这些错误消息可能是什么以及它们的含义。

答案 1 :(得分:1)

另外还有一个问题:

检查httpd.conf文件以获取以下配置:

<IfModule mime_module>
      AddHandler cgi-script .cgi .pl .py
</IfModule>

这将导致错误。

.py不得配置为CGI脚本

答案 2 :(得分:0)

尝试使用此目录语句:

<Location />
    Order Allow,Deny
    Allow from all
</Location>