У меня есть конфигурация lighttpd 1.4.26 (ssl) на компьютере linux, обслуживающем медиа-приложение HTML5 через HTTPS.
Моя цель - обслуживать медиа-файлы через приложение через HTTP из того жевеб сервер.
Если веб-сервер был расположен по адресу https://www.media.com/, а все мультимедиа расположены в различных подпапках http://www.media.com/sharedmedia/XXXXX,, и у меня есть относительные ссылки на любой медиафайл в html для обслуживаемых страниц.через http, тогда я хочу, чтобы все запросы к файлам .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
Обратите внимание, что% 20, которые были в самом первом URL (urlencoded SPACE)) были удалены из URL, оставляя завершающий «0» в каждом случае во время первого перенаправления (я предполагаю, что интерпретируется как% 2, который содержит пустую строку), и что запрос http ТАКЖЕ ошибочно перенаправляется на другой URL, который даже несодержать значение хоста (www.media.com).Кроме того, расширение отключено во втором перенаправлении ...
Затем я попробовал условную версию:
$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)
Есть идеи, что я делаю не так?