2012-01-12 4 views
0

Я являюсь работать сайт, который был закодирован в C# и использует SSL сертификат «secure.mydomain.com Чтобы перейти от HTTP к HTTPS использует следующий кодПравильно заменить строку другой строкой

 if (useSsl) 
     { 
      if (!String.IsNullOrEmpty(ConfigurationManager.AppSettings["SharedSSL"])) 
      { 
       //shared SSL 
       result = ConfigurationManager.AppSettings["SharedSSL"]; 
      } 
      else 
      { 
       //SSL 
       **result = result.Replace("http:/", "https://");** 
      } 

Это переключится с «http://mydoman.com» на «https://mydomain.com», но мне нужно «https://secure.mydomin.com» .Если я сменил код на result = result. Замените («http: /», «https: // secure»), он достает меня на страницу с ошибкой, потому что он пытается перейти на «https: // secure».

Я искал 3 недель найти решение и попробовал их, но никто не работал. Любые предложения о том, как исправить это?

ответ

3

Вы пропустили дополнительную косую черту на вашем HTTP

result.Replace("http://", "https://secure."); 

Это будет работать для вас, надеюсь,

0

Как заявил soniic, вы пропустили /.

Это означает, что ваша строка будет выглядеть

https://secure/.mydomain.com 

Вот почему вы перенаправлены на https://secure вместо https://secure.mydomain.com

+0

Я хотел бы поблагодарить Вас за вас своевременную помощь. Не знаю, сработала ли другая проблема. Когда я нажимаю ссылку, которая выводит меня на защищенную страницу, выдается сообщение об ошибке «Соединение было сброшено. Соединение с сервером было сброшено во время загрузки страницы». URL-адрес в адресной строке правильный, поскольку в нем указано «https://secure.mydomain.com». Каков наилучший способ отслеживания этого? – carbonhead

+0

Выполняет ли это обычное обращение (путем ввода его в адресной строке) в результате такой же ошибки? – soniiic

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