Telstra Ответов: 2

Перенаправляет пользователя на основе протокола http или https


Привет,

Наш домен сейчас находится в протоколе http. Через некоторое время он перейдет на https. Я хотел сделать такой код, если пользователь наберет http://domainName тогда все относительные ссылки на этой странице будут автоматически перенаправлены на http. Если тип пользователя https://domainName тогда все относительные ссылки на этой странице будут автоматически перенаправлены на https.
Как я могу это сделать, используя asp.net.

Что я уже пробовал:

Я пытаюсь сделать это через клиентский javascript или jquery, но не могу понять, как это сделать..

Richard Deeming

Почему бы просто не использовать относительные ссылки на странице?

<a runat="server" href="~/pageInRootOfApplication.aspx">
<a href="/pageInRootOfSite.aspx">
<a href="pageInSameFolder.aspx">
<a href="../pageInParentFolder.aspx">

Все они будут разрешены относительно текущего URL-адреса, включая протокол. Если страница загружается по протоколу HTTP, ссылки также будут загружаться по протоколу HTTP. Если страница загружена по протоколу HTTPS, ссылки будут загружаться по протоколу HTTPS.

Проблема возникает только в том случае, если вы указываете полный URL-адрес своего сайта:
<a href="http://www.yoursite.com/somePage.aspx">

2 Ответов

Рейтинг:
2

F-ES Sitecore

Что вам нужно сделать, так это перенаправить первоначальный http-запрос, а не изменять ссылки на странице, так что если кто-то запросит http://yoursite/url вы перенаправляете их на https://yoursite/url. Таким образом, все ссылки\изображения будут по умолчанию https (при условии, что вы правильно написали свой сайт).

Google "asp.net перенаправление http на https", и вы найдете различные способы достижения этой цели.


Рейтинг:
0

Suvendu Shekhar Giri

Я считаю, что вы находитесь в неправильном направлении. Вам не нужно менять свой код, ни JavaScript, ни JQuery вам в этом не помогут. Это в основном конфигурационные материалы.

Вам необходимо настроить IIS для обработки https-запросов. Если вы хотите, чтобы ваш сайт использовал протоколы http и https, вам понадобится 2 порта.

Пожалуйста, обратитесь к следующим статьям, чтобы узнать пошаговый процесс.
Что такое SSL и как его реализовать в ASP.Net веб-приложение[^]
Здание безопасное ASP.NET приложения: аутентификация, авторизация и безопасная связь[^]
Автоматическое переключение между HTTP и HTTPS: Версия 2[^]
https://support.microsoft.com/en-us/kb/299875[^]

Надеюсь, это поможет :)