【发布时间】:2014-09-18 12:30:32
【问题描述】:
我正在尝试将 apache 配置为为 site.com/img/bla.jpg 等 URL 提供静态文件。
Python 墨盒 + 烧瓶。
我知道wsg/static 目录有一个预配置的别名,所以我们可以使用site.com/static/bla.jpg。但我需要额外的静态目录。
项目结构:
/wsgi
.htaccess
/img -> $OPENSHIFT_DATA_DIR/some/path (soft link)
/static
application
在后端我绑定了mysite.com/img/<filename> 以测试 apache 或后端是否处理文件 - 它返回 "ok [filename]" 字符串。
我在 htaccess 中尝试了以下配置:
1:site.com/img/1.jpg -> "ok 1.jpg"
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f # with and without this condition
RewriteRule ^img/(.+)$ /static/$1 [L]
# RewriteRule ^img/(.+)$ /img/$1 [L]
# RewriteRule ^/img/(.+)$ /img/$1 [L]
# RewriteRule ^img/(.+)$ https://ssl.gstatic.com/gb/images/i1_3d265689.png [L]
据我了解,正则表达式与请求 URL 不匹配,而 apache 只是将内容传递给后端?
2:site.com/img/1.jpg -> "ok 1.jpg"
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule /img/1.jpg https://ssl.gstatic.com/gb/images/i1_3d265689.png [L]
3:site.com/img/1.jpg -> 打开 google 的 i1_3d265689.png
RewriteEngine On
RewriteBase /
RewriteRule /img/1.jpg https://ssl.gstatic.com/gb/images/i1_3d265689.png [L]
注意:没有 RewriteCond。
那么如何让它发挥作用呢?
我再次希望 apache 将 mysite.com/img/<filename> 服务为 wsg/img/<filename>。
openshift 有什么问题还是我错过了什么?
【问题讨论】:
标签: python apache .htaccess openshift