/etc/apache2/site-available/mysite.com
<VirtualHost my_ip_here:80> ServerAdmin [email protected] ServerName mysite.com ServerAlias www.mysite.com WSGIScriptAlias / /srv/www/mysite.com/djangoproject/django.wsgi <Directory "/srv/www/mysite.com/djangoproject/sitestatic"> Order allow,deny Allow from all </Directory> AliasMatch /([^/]*\.css) /srv/www/mysite.com/djangoproject/sitestatic/css/$1 AliasMatch /([^/]*\.js) /srv/www/mysite.com/djangoproject/sitestatic/js/$1 Alias /media/ /srv/www/mysite.com/djangoproject/sitestatic/ ErrorLog /srv/www/mysite.com/logs/error.log CustomLog /srv/www/mysite.com/logs/access.log combined </VirtualHost>
/srv/www/mysite.com/djangoproject/settings.py
MEDIA_ROOT = '' MEDIA_URL = '/media/' STATIC_ROOT = '/srv/www/mysite.com/djangoproject/sitestatic/' STATIC_URL = '/static/' ADMIN_MEDIA_PREFIX = '/static/admin/'
其实我看到我的网站正确与我的CSS和图像, 但是当我去/pipe理我看到没有CSS的pipe理网站。 我该如何解决? 另外,这是正确的我的服务CSS和JS的Apacheconfiguration,我怎样才能隐藏目录/媒体的内容?
– 解决scheme(感谢Pratik) –
也许,问题是在Apache的configuration线的顺序。
<VirtualHost my_ip_here:80> ServerAdmin [email protected] ServerName site.com ServerAlias site.com DocumentRoot /srv/www/site.com/cherryproj/templates Alias /static/admin /usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/contrib/admin/media/ Alias /static/ /srv/www/site.com/cherryproj/static/ WSGIScriptAlias / /srv/www/site.com/cherryproj/django.wsgi <Directory "/srv/www/site.com/cherryproj/sitestatic"> Order allow,deny Allow from all </Directory> ErrorLog /srv/www/site.com/logs/error.log CustomLog /srv/www/site.com/logs/access.log combined </VirtualHost>
pipe理媒体实际上位于Django的dist包内。
尝试在Apache的configuration中join这样的东西
Alias /static/admin "/usr/local/lib/python2.6/dist-packages/django/contrib/admin/media/"
如果这不起作用,请在pipe理页面上查看页面源代码,请参阅css试图从中加载的path,并将Apache的别名指向该path。 在dist-packages文件夹之外复制这个pipe理员介质可能是一个好主意。 另外你的path可能会有所不同,尤其是如果你使用virutalenv。
要隐藏媒体文件夹的内容呢
<Directory "/srv/www/mysite.com/djangoproject/sitestatic"> Options -Indexes Order allow,deny Allow from all </Directory>
在Ubuntu 12.04.1 LTS Server中,您必须添加以下行:
别名/静态/pipe理“/usr/local/lib/python2.7/dist-packages/django/contrib/admin/media”
在你的Apache2configuration或VirtualHost中。