为什么我的Apache看不到我的媒体文件夹?
Alias /media/ /home/matt/repos/hello/media
<Directory /home/matt/repos/hello/media>
Options -Indexes
Order deny,allow
Allow from all
</Directory>
WSGIScriptAlias//home/matt/repos/hello/wsgi/django.wsgi
/media是我的目录。当我去mydomain.com/media/时,它说403 Forbidden。而且,我的网站的其他部分无效,因为所有静态文件都是404。为什么?页面加载。只是不是媒体文件夹。为什么我的Apache看不到我的媒体文件夹?
编辑:hello是我的项目文件夹。 我已经试过777该文件夹的所有权限。
您禁用了索引,因此当您请求目录/介质时(而不是显示403 Forbidden错误),Apache不会生成这些文件的列表。尝试在那里直接访问文件,例如:http://localhost/media/some_image.jpg
如果内存正确地为我提供服务,Apache将在它自己的用户帐户下运行。您确定此帐户对该目录具有正确的权限吗?
是的。它访问一切正常。只是没有那个媒体文件夹。 – TIMEX 2010-03-24 10:38:15
它的所有关于短跑Options -Indexes
,这里是一个完整的Editon到你
Alias /media/ /home/matt/repos/hello/media
<Directory "/home/matt/repos/hello/media">
Options Indexes
AllowOverride all
Order Deny,Allow
Allowfrom all
</Directory
我很想加入
AllowOverride all
随意删除:)
在我看来,WSGIScriptAlias//home/matt/repos/hello/wsgi/django.wsgi
告诉Apache,指定的WSGI脚本将处理/下的所有内容。这也包括/媒体。你应该告诉Apache从该规则中排除/媒体。
尝试添加该到您的配置文件:
<LocationMatch "^/media/">
SetHandler None
</LocationMatch>
的船艇/ media下比赛的一切,但文件正则表达式并替换WSGIScriptAlias符合这样的:
WSGIScriptAliasMatch <regex> /home/matt/repos/hello/wsgi/django.wsgi
我解决它。我错过了一个斜线。之后媒体/
我认为这是权限问题。 '文件夹中的chmod 666',它应该可以正常工作。 – 2010-03-24 10:39:03
nope,我已经完成了chmod 777,但它仍然不起作用。 – TIMEX 2010-03-24 10:48:32
但是,它确实在我的Django开发服务器上工作。 – TIMEX 2010-03-24 10:50:20