我正在使用FastCGI来为我的Django应用程序提供服务,所以基本上它的工作原理如下:http://docs.djangoproject.com/en/dev/howto/deployment/fastcgi/#running-django-on-a-shared-hosting-provider-with-apache
我可以从中提供静态媒体(图像,CSS等)的最佳方式是什么?谢谢!
答案 0 :(得分:1)
如果使用Apache来访问网站,我们通常会使用WSGI连接到django,然后让Apache处理'/ media / ...任何......'作为静态服务的内容。这是几行配置和Bob's your Uncle!
更新:我应该补充一点,我们的大多数Django网站都在专用服务器上,但您也可以在webfaction.com轻松完成此操作。
E.g。
<Location "/media">
SetHandler None
</Location>
答案 1 :(得分:0)
将任何适当的Alias
指令添加到您的Web服务器配置中,从最深到最浅。
答案 2 :(得分:0)
我在apache conf中使用它:
Alias /static/ /path/to/static/files/
<Directory /path/to/static/files/>
Order deny,allow
Allow from all
</Directory>
答案 3 :(得分:0)
如果您没有对apache conf的写入权限,可以在.htaccess中执行此操作
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/path/to/media/files/
RewriteRule ^(.*)$ mysite.fcgi/$1 [QSA,L]
或类似的东西。这可确保以媒体文件路径开头的任何URL都不会重定向到快速cgi。如果您已有某些条件,则可以使用RewriteCond
添加多个[OR]
。