我正在尝试配置 apache 来为 URL 提供静态文件,例如site.com/img/bla.jpg
。
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 或后端是否处理文件 - 它返回“好的[文件名]” string.
我在 htaccess 中尝试了以下配置:
1: site.com/img/1.jpg
->“好的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
->“好的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
-> 打开谷歌的 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>
as wsg/img/<filename>
.
openshift 有问题还是我错过了什么?