Redirect lighttpd mod_将https重定向到http,专门用于媒体文件类型
我在cent os linux机器上有一个lighttpd 1.4.26 ssl配置,通过HTTPS为HTML5媒体应用程序提供服务 我的目标是通过HTTP应用程序从同一个Web服务器提供媒体文件 如果Web服务器位于并且所有媒体都位于的各个子文件夹中,并且我有通过http提供的页面的html中任何媒体文件的相对链接,那么我希望所有对.mp3、.mp4、.webm和.ogv文件的请求都被重定向到完全相同的URL,但使用http而不是https 我的问题是我不知道如何编写url.redirect规则来执行此转换 我试过:Redirect lighttpd mod_将https重定向到http,专门用于媒体文件类型,redirect,lighttpd,Redirect,Lighttpd,我在cent os linux机器上有一个lighttpd 1.4.26 ssl配置,通过HTTPS为HTML5媒体应用程序提供服务 我的目标是通过HTTP应用程序从同一个Web服务器提供媒体文件 如果Web服务器位于并且所有媒体都位于的各个子文件夹中,并且我有通过http提供的页面的html中任何媒体文件的相对链接,那么我希望所有对.mp3、.mp4、.webm和.ogv文件的请求都被重定向到完全相同的URL,但使用http而不是https 我的问题是我不知道如何编写url.redirect规
url.redirect = ( "https://^(.*)\.(ogv|mp4|mp3|webm)$" => "http://%1/$1" )
当我访问此URL时:
https://www.media.com/sharedmedia/X-MAC-MINI/Sports/Amazing%20Football%20Skills%20and%20Tricks.ogv
我被永久重定向到301
http://www.media.com/sharedmedia/X-MAC-MINI/Sports/Amazing0Football0Skills0and0Tricks.ogv
然后,它也被301'指定为:
http:///sharedmedia/AFFINEGY-MAC-MINI/Sports/Amazing0Football0Skills0and0Tricks
请注意,第一个url url编码空间中的%20在第一次重定向期间从url中删除,每次都会留下尾随的“0”,我假设它被解释为%2,其中包含一个空字符串,并且http请求也被错误地重定向到另一个甚至不包含主机值www.media.com的url。另外,第二个重定向中没有扩展
然后我尝试了一个有条件的版本:
$HTTP["socket"] =~ ":443$"
{
url.redirect = ( "^(.*)\.(ogv|mp4|mp3|webm)$" => "http://%1/$1" )
}
…这导致lighttpd在启动时崩溃,所以我甚至无法测试它。Lighttpd启动错误消息如下:
Starting lighttpd: 2011-08-31 16:19:15: (configfile.c.907) source: find /etc/lighttpd/conf.d -maxdepth 1 -name '*.conf' -exec cat {} \; line: 44 pos: 1 parser failed somehow near here: (EOL)
2011-08-31 16:19:15: (configfile.c.907) source: /etc/lighttpd/lighttpd.conf line: 331 pos: 1 parser failed somehow near here: (EOL)
知道我做错了什么吗?以下是我做错的地方: 要在目标IP规则中使用%n符号,您需要一个嵌套IF 我有
$HTTP["socket"] =~ ":443$"
{
url.redirect = ( "^(.*)\.(ogv|mp4|mp3|webm)$" => "http://%1/$1" )
}
但我需要
$HTTP["socket"] =~ ":443$" {
$HTTP["host"] == (.*) {
url.redirect = ( "^(.*)\.(ogv|mp4|mp3|webm)$" => "http://%1/$1.$2" )
}
}
现在。。。http://%1/$1中的%1引用了$http[host]=.*中的匹配项,$1引用了url重定向参数中的匹配项,$2引用了url重定向源中第二组参数的匹配项
是我一个人干的还是这玩意儿完全没有记录?我只能在谷歌上找到人们抱怨无法实现这一点,似乎没有人对它的工作原理有一个单一的答案
我现在在APACHE中也遇到了同样的问题,我也找不到一个关于.htaccess 301重定向的好文档