Intelligencia URLRewriter HTTP для HTTPS
Я пытаюсь заставить URLRewriter принудительно перенаправить HTTP-запросы на HTTPS. Документация производителя, кажется, не покрывает это.
Я знаю, что следующие параметры выдают ошибку, но служат для иллюстрации того, что я пытаюсь выполнить:
<rewriter>
<if url="http://www.domain.com/test*">
<rewrite url="http://www.domain.com/test*" to="https://www.domain.com/test*" />
</if>
</rewriter>
2 ответа
Было бы полезно точно знать, какая ошибка выдается, чтобы убедиться, что я иду по правильному пути, но я думаю, что вы используете символ *, когда хотите использовать. символ (возможно.+, если вы намереваетесь перенаправить любой незащищенный URL на защищенную версию)
Кажется, что оригинальный плакат хотел сделать что-то вроде:
<rewriter>
<if url="http://.*">
<rewrite url="http://([^/]*)(.*)" to="https://$1$2" />
</if>
</rewriter>
Тем не менее, это, похоже, не работает вообще - я не совсем уверен, что он делает под капотом, чтобы понять, почему. Регулярные выражения кажутся правильными. Я нашел этот сайт действительно полезным для выяснения некоторых из этого: http://regexhero.net/tester/
Я наконец нашел волшебное заклинание, чтобы оно заработало, из:
/questions/40821739/javascript-animatsiya-s-safari/40821756#40821756
<rewriter>
<if header="HTTPS" match="^OFF$">
<redirect url="(.*)" to="https://yourdomain.com$1"/>
</if>
</rewriter>