2010-03-11 3 views
2

У меня есть интересная проблема с неправильным обращением к портам HTTPS. Это относительно небольшая проблема, и я уверен, что ее довольно просто решить, я просто не думаю об этом.IIS, перенаправление и HTTPS

У нас есть сайт, обслуживаемый IIS 6, www.mylongdomainname.com. У нас есть безопасный портал, который обрабатывается через https://www.mylongdomainname.com. Теперь у нас есть несколько тщеславия и маркетинговые URL-адреса, которые мы используем по телефону, например, www.shortname.com и т. Д. У меня есть две настройки сайтов, одна из которых обрабатывает весь запрос с заголовком www.mylongdomain.com, который фактически обслуживает веб-сайт. Другой принимает любой трафик и постоянно перенаправляется на сайт www.mylongdomain.com. Таким образом, если мы когда-либо добавим больше доменов, все они окажутся в одном, а также перенаправят mylongdomain.com на www.mylongdomain.com.

Все здесь прекрасно работает. Проблема теперь в том, что когда я google «shortname.com», первый возвращенный результат такой же, как если бы я был googling «mylongdomain», однако, Google смог просканировать другие страницы через https://shortname.com и индексировать их таким образом. У нас нет SSL-сертификатов для этих других доменов, поэтому, когда вы нажимаете, вы получаете неприятную недоверенную ошибку.

Это действительно не проблема, если мы не использовали эти URL-адреса по телефону, и вы все знаете, сколько людей не знает разницы между URL-строкой и полем поиска.

любые предложения или советы?

ответ

2

Я настроил перенаправление так, чтобы https://shortname.com был отправлен на адрес http://shortname.com с переадресацией 301 (постоянного). Это немедленно покончит с неприятной ненадежной ошибкой. Кроме того, это также заставит Google медленно, но верно обновлять свой индекс.

Существует несколько способов сделать это. Если вы используете IIS7, вы можете использовать URL Rewrite Module и написать правило перенаправления, чтобы позаботиться об этом.

Или, если вы не на IIS7, вполне возможно написать код для этого. I wrote some ASP.NET Я использовал много раз, чтобы позаботиться об этом перенаправлении HTTP/HTTPS. В вашем конкретном случае вы можете просто взять мой код и вызвать SetSSL (False) в функции Application_BeginRequest вашего global.asax.

+1

Да, я не упоминал об этом, но у меня уже было обработано, хотя asp.net. Глядя на это снова, я сделал ошибку, я использовал Response.Redirect (302) вместо 301. Глупый я. – dgxshiny

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