微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

根据请求使用.htaccess强制video/ webm mimetypesuri

我在.htaccess中有一个重写规则

RewriteRule (.+?.fid)/ /$1 [L]

与请求URI: /123.fid/myfile.webm

如何强制MIMEtypes:使用.htaccess video/webm包括上面的规则?

我已经尝试过,添加.htaccess文件的TOP没有成功:

允许.htaccess urlredirect的空间

设置Silex Bootstrap时出现Apache错误:无法检查htaccess文件

如何阻止访问者直接访问我网站上的目录?

如何根据查询stringredirecturl?

URL重写在Nginx中不起作用

AddType video/webm .webm

<FilesMatch ".webm$"> ForceType video/webm </FilesMatch>

我使用apaches mime_magic模块查找MIMEtypes的.fid文件,但是这不适用于webm文件。 我假设这是RewriteRule这是导致文件types的问题,我需要在请求uri以某种方式寻找webm。

如果我这样做: AddType video/webm .fid正确的MIMEtypes被发送 – 但是这打破了存储在.fid中的任何其他文件格式。 使用.fid是一个devise要求,不能改变。

* 编辑:

我也试过:

RewriteCond %{REQUEST_URI} .webm$ RewriteRule .* - [T=video/webm]

RewriteRule .webm$ - [T=video/webm]

结果相同。 提供的MIMEtypes是text/plain 。 这可能是mime_magic模块interfiering?

我也试图添加: DefaultType video/webm哪些作品。 这是目前最接近解决scheme,因为mime_magic模块似乎find正确的MIMEtypes发送,但我不觉得这是一个特别优雅的解决scheme

*编辑2 : AddType video/webm .fid IS工作 – 我怎么能有条件地做的基于请求的URI的AddType?

Apache 2.4“..authentication失败..:密码不匹配”

htaccess规则转发/login/和/login到同一页面

包括不工作

正确的重写为.net文件的重写path为silex?

.htaccess重写通配符subsubdomain和params

您可以在RewriteRule中使用T标志:

RewriteRule someRegEx$ - [T=video/webm]

http://httpd.apache.org/docs/current/rewrite/flags.html#flag_t

它为我工作,当我将下面的行添加到我的.htaccess文件

<Ifmodulee mod_rewrite.c> AddType video/ogg .ogv AddType video/webm .webm AddType video/mp4 .mp4 </Ifmodulee>

如果您使用脚本(而不是真实文件)发送数据,则脚本必须发送正确的标题,例如使用PHP(在任何其他输出之前):

header("Content-type: video/webm");

在真实文件的情况下,您可以使用内容协商(而不是重写)和:

AddType video/webm .fid

编辑:

不幸的是,我不是靠近Apache,但这可能值得一试:

RewriteCond %{REQUEST_URI} .webm$ RewriteRule (.*) $1 [E=is_webm:true] Header set Content-Type video/webm env=is_webm

无法得到这个在Apache中工作,我放弃了,而是转移到Nginx。 我得到它在Nginx中使用:

location ~.webm$ { add_header Content-Type video/webm; rewrite (.+?.fid)/ /$1 break; }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐