我正在尝试将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
答案 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>