使用.htaccess提供静态文件

时间:2013-05-13 11:34:32

标签: .htaccess apache2

我正在尝试将所有请求重定向到我的网站(django.cgi) 会发生什么:

  1. 呼叫www.mysite.de/bla/anything.html将被重定向到django.cgi
  2. 调用www.mysite.de/static/anything/my.css将被重定向到静态文件夹
  3. /home/page/my_site/static/anything/my.css

    到目前为止,我已经获得了以下.htaccess文件:

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^static/(.*)$ my_site/static/$1
    RewriteRule ^(.*)$ django.cgi/$1 [QSA,L]
    

    这个给了我一个500错误。如果我注释掉第三行,除了静态文件没有提供外,一切正常。我的.htaccess应该怎么样?

1 个答案:

答案 0 :(得分:2)

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/static
RewriteRule ^ ../static/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ django.cgi [QSA,L]

我在CGI重写之前已经移动了静态文件的规则。我还使用了跳转到上一个文件夹,因为不清楚.htaccess文件的位置。如果规则不起作用,请对此文件的位置发表评论(它应该在您的DOCUMENT_ROOT中。