404在Apache上提供Django 1.7静态文件时出错

时间:2015-01-02 02:27:40

标签: python django apache mod-wsgi

我多年来一直是django开发人员,但是在提供静态文件方面,一个1.7的小练习项目让我非常头疼。

我已经设置了STATIC_ROOT

STATIC_ROOT = '/var/www/mydomain/static'

我已经设置了STATIC_URL

STATIC_URL = '/static/' #as default

我没有使用STATICFILES_DIRS,因为我有一个名为'pages'的应用程序,它在INSTALLED_APPS中。在localhost上,正确提供静态文件

我正在使用Ubuntu 14.4和Apache / 2.4.7

我的apache conf

<VirtualHost *:80>
    ServerName mydomain.net #I own the domain and pointed it correctly in GoDaddy
    ServerAlias www.mydomain.net

    Alias /static/ /var/www/mydomain/static

    <Directory /var/www/mydomain/static>
        Require all granted
    </Directory>

    WSGIScriptAlias / /var/www/mydomain/mydomain/wsgi.py

    <Directory /var/www/mydomain/mydomain>
        <Files wsgi.py>
           Require all granted
        </Files>
    </Directory>

    WSGIDaemonProcess mydomain.net python-path=/var/www/mydomain:/var/www/mydomain/venv/lib/python2.7/site-packages
    WSGIProcessGroup mydomain.net
</VirtualHost>

我运行了collectstatic并确认所有静态文件都在/ var / www / mydomain / static /*.

网站加载,但我在所有css和js文件上获得了404。

所有调试工作都失败了。我已经删除了STATIC_ROOT目录,期望403,但仍然得到404.我已经将所有文件/文件夹chown to root进行测试;没有。我创建了一个部署用户并向其展示了所有文件/文件夹;没有。我已将所有文件/文件夹显示为www-data;没什么!!

Apache 2.4+中是否有新的配置让我失望?

1 个答案:

答案 0 :(得分:-1)

您可以检查/ var / www / mydomain路径并查找该文件夹。我认为它还没有。如果没有,则将您的文件夹复制到此位置,以便apache可以为其提供服务。 那值得一看