2010-03-11 91 views
2

我有一個有趣的問題,HTTPS端口未正確處理。這是一個相對較小的問題,我敢打賭解決起來相當簡單,我只是沒有想到它。IIS,重定向和HTTPS

我們有一個網站,服務於IIS 6,www.mylongdomainname.com。我們有一個安全的門戶,通過https://www.mylongdomainname.com進行處理。現在我們有幾個虛擬和營銷URL,我們通過手機使用www.shortname.com等。我有兩個網站設置,一個可以處理所有請求,其中包含實際爲網站提供服務的標題www.mylongdomain.com。另一個接受任何流量並永久重定向到www.mylongdomain.com。這樣,如果我們添加任何更多的域名,他們將全部結束,並將它重定向到www.mylongdomain.com。

這裏的一切工作正常。現在的問題是,當我谷歌「shortname.com」,返回的第一個結果是相同的,如果我谷歌搜索「mylongdomain」,但谷歌已能夠抓取其他頁面通過https://shortname.com並索引他們的方式。我們沒有這些其他域的SSL證書,所以當你點擊時,你會得到一個令人討厭的不受信任的錯誤。

如果我們沒有通過電話使用這些網址,並且您都知道有多少人不知道網址欄和搜索框之間的區別,這真的不會成爲問題。

任何建議或提示?

回答

2

我會設置一個重定向,使https://shortname.com發送到http://shortname.com 301(永久)重定向。這將立即結束令人討厭的不可信的錯誤。此外,這也會讓Google慢慢地但肯定地更新他們的索引。

有多種方法可以做到這一點。如果您使用的是IIS7,則可以使用URL Rewrite Module並編寫重定向規則來處理它。

或者,如果您不在IIS7上,編寫一些代碼來完成此操作可能是完全可以接受的。 I wrote some ASP.NET我用了很多次來處理這個HTTP/HTTPS重定向。在你的特定情況下,你可以簡單地帶上我的代碼,並在你的global.asax的Application_BeginRequest函數中調用SetSSL(False)。

+1

是的,我沒有提到,但我已經有處理,雖然asp.net。再看一遍,我犯的錯誤是我使用了Response.Redirect(302)而不是301.愚蠢的我。 – dgxshiny