Назад | Перейти на главную страницу

Перенаправление с SSL для страниц без SSL

Я пытаюсь принудительно использовать SSL и не-SSL на определенных страницах моего сайта с перенаправлениями в файле конфигурации Lighttpd. У меня нормально работает перенаправление на SSL:

$HTTP["host"] == "www.site.com:80" {
     url.redirect = ( "(login|register/payment|resetpassword|account/password)" => "https://www.site.com/$1" )
}

И теперь я пытаюсь пойти другим путем, но я не могу заставить шаблон ударить правильно (была копия, работающая нормально под apache с .htaccess):

$HTTP["host"] == "www.site.com:443" {
     url.redirect = ( "!(login|register/payment|resetpassword|account/password|images|css|javascript|minify/minify.php|states)" => "http://www.site.com/$1" )
}

Я пробовал много комбинаций, но обычно попадаю в бесконечный цикл перенаправления, потому что второй соответствует всем URL-адресам при подключении к порту SSL или вообще не запускается. Какие-либо предложения?

Попробуйте использовать (?!: Вместо! (Для отрицательного совпадения.

 url.redirect = ( "(?!:login|register/payment|resetpassword|account/password|images|css|javascript|minify/minify.php|states)" => "http://www.site.com/$1" )