Я пытаюсь принудительно использовать 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" )