SharePoint Portal Server 2003 平台上,整個網站架構是使用 “入口網站 (Portal Site) -> 網站 (Web Site)” 的方式,如果說入口網站是 MyPortal,那麼眾多網站的網址會變成:
http://MyPortal/sites/firstSite/
跟
http://MyPortal/sites/secondSite/
這個樣子,在實際應用的時候,我們常常會希望使用者打某個 URL 就可以直接進入某個網站中,如:
http://first.company.com/
希望它會重導到
http://MyPortal/sites/firstSite/
(依此類推),這一篇文章裡提供一個簡單的方法及實作。
首先我們進入 Internet Information Services,預設網站通常在安裝了 SPS 之後已經是 SharePoint 的網站,我們在同一台機器上建立一個虛擬網站,[Web Sites][New][Web Site],取名為 Site Redirection,右鍵,選擇 [內容] 然後在 IP Address 右邊的 Advance 按鈕點一下,在 Multiple identities for this Web site 的內容中新增所有重導網站要處理的 FQDN,如:
first.company.com
second.company.com
third.company.com
…
記得 TCP Port 一樣使用 80 Port,只要這邊有指定的 FQDN 都會來到這邊作重導,沒指定的都會進預設網站。接下來,在這個虛擬網站中建立一個 default.aspx 的應用程式,內容如下:
— START OF default.aspx
<%@ Page LANGUAGE=”c#” %>
<html>
<head>
<title>Portal Redirection Page</title>
<script runat=server>
private void Page_Load ( Object sender, EventArgs e ) {
string sServerURL = “”;
string sRedir = “”;
string sProto = “”;
if(this.Page.Request.ServerVariables[“HTTPS”].ToString()==”off”)
sProto += “http://”;
else
sProto += “https://”;
sServerURL = sServerURL + this.Page.Request.ServerVariables[“server_NAME”].ToString();
switch (sServerURL)
{
case “first.company.com”:
sRedir = “MyPortal/sites/firstSite/”;
break;
case “second.company.com”:
sRedir = “MyPortal/sites/secondSite/”;
break;
case “third.company.com”:
sRedir = “MyPortal/sites/thirdSite/”;
break;
default:
sRedir = “MyPortal”;
break;
}
Response.Redirect ( sProto + sRedir );
}
</script>
<body>
<span id=”Welcome” runat=server/>
</body>
</html>
— END OF default.aspx
然後記得將所使用的 FQDN 的 DNS 設定好,綁到這個 MyPortal 相同的 IP 上來,這樣使用者就可以使用所設定的 FQDN 來進行連線了,當然,如果是在 Intranet 的環境中,使用內部的 DNS 也可以用相同的方法。