2016-08-15 5 views
0

У меня проблема, пытаясь заставить HTTPS на своем сайте, а за исключением locahost настоящее время я использую Intelligencia.UrlRewriter переписать все URL и у меня есть следующий набор правил до:Intelligencia.UrlRewriter домен проверка для перенаправления HTTPS

<if header="HTTPS" match="^OFF$"> 
<redirect url="(.*)" to="https://sub.mydomain.com$1" /> 
</if> 

Это перенаправляет отлично, но я хотел бы, чтобы убедиться, что мой отладки локальный не влияет. Это явно работает под другим URL-адресом. Поэтому я пробовал:

<if header="HTTPS" match="^OFF$"> 
<redirect url="(.*)mydomain" to="https://sub.mydomain.com$1" /> 
</if> 

Это, однако, не работает. Я считаю, что причиной этого может быть то, что он оценивает только что после .com. Я пробовал искать документацию без везения.

Как я могу всегда заставлять https-соединение, кроме моего локального хоста?

+0

Вы хотите, чтобы соответствовать ничего, кроме URL с 'mydomain'? Попробуйте 'url ="^(?!. * Mydomain) (. *) "' –

+0

Я пытаюсь исключить localhost. Я отредактировал вопрос, чтобы сделать это более ясным. – Mfusiki

ответ

0

мне удалось найти решение моей проблемы:

<unless header="HTTP_HOST" match="localhost"> 
    <if header="HTTPS" match="^OFF$"> 
    <redirect url="(.*)" to="https://sub.mydomain.com$1" /> 
    </if> 
</unless> 

С добавлением <unless header="HTTP_HOST" match="localhost"> тега можно исключить некоторые хосты и по-прежнему позволяют другие хосты будут перенаправлены на HTTPS. Другими словами:

Это будет вынужден:


http://sub.mydomain.com/default.html 

К (обратите внимание на с в HTTPS):

https://sub.mydomain.com/defualt.html


Но это не может быть изменен:

http://localhost/default.html


 Смежные вопросы

  • Нет связанных вопросов^_^