【问题标题】:What is the best way to serve media on a shared hosting from a Django app?从 Django 应用程序在共享主机上提供媒体的最佳方式是什么?
【发布时间】:2011-03-05 14:23:50
【问题描述】:

我正在使用 FastCGI 为我的 Django 应用程序提供服务,所以它基本上是这样工作的:http://docs.djangoproject.com/en/dev/howto/deployment/fastcgi/#running-django-on-a-shared-hosting-provider-with-apache

我可以从中提供静态媒体(图像、css 等)的最佳方式是什么?谢谢!

【问题讨论】:

    标签: django hosting fastcgi


    【解决方案1】:

    如果使用 Apache 来前端站点,我们通常会使用 WSGI 连接到 django,然后让 Apache 将“/media/...anything...”作为静态服务内容处理。这是几行配置和Bob's your Uncle

    更新:我应该补充一点,我们的大多数 Django 站点都在专用服务器上,但您也可以通过 webfaction.com 轻松完成此操作。

    例如

    <Location "/media">
        SetHandler None
    </Location>
    

    【讨论】:

    【解决方案2】:

    将任何适当的Alias 指令添加到您的网络服务器配置中,从最深到最浅。

    【讨论】:

      【解决方案3】:

      我在我的 apache conf 中使用它:

      Alias /static/  /path/to/static/files/
      <Directory /path/to/static/files/>
          Order deny,allow
          Allow from all
      </Directory>
      

      【讨论】:

        【解决方案4】:

        如果您没有 apache conf 的写入权限,您可以在 .htaccess 中执行此操作

        RewriteEngine On
        RewriteBase /
        RewriteCond %{REQUEST_URI} !^/path/to/media/files/ 
        RewriteRule ^(.*)$ mysite.fcgi/$1 [QSA,L]
        

        或类似的东西。这可以确保任何以媒体文件路径开头的 url 都不会重定向到快速 cgi。如果你已经有一些条件,你可以使用[OR]添加多个RewriteConds。

        【讨论】:

          猜你喜欢
          • 2010-09-20
          • 2018-07-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-31
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多