我多年来一直是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+中是否有新的配置让我失望?
答案 0 :(得分:-1)
您可以检查/ var / www / mydomain路径并查找该文件夹。我认为它还没有。如果没有,则将您的文件夹复制到此位置,以便apache可以为其提供服务。 那值得一看