由于公司购买了windows azure服务,想把本地的两台sharepoint server放在windows azure上,为了节省成本,想把两台sharepoint服务放在一台机器上,前提是之前的访问方式不变;了解需求后,就在网上找案例,最终无果。最后想到了通过apache进行跳转也行。我的想法是。将其中一台sharepoint服务作为一个子站点来部署,然后通过权限控制。最后通过apache进行跳转,这样也能达到效果。经过多次折腾终于实现了。所以在此分享给有需要的朋友。

         我们都知道Sharepoint默认站点的访问方式(父站点)为localhost.default.aspx;端口默认是80;在父站点下创建子站点,创建的时候需要指定一个路径,在此我指定it,所以子站点的访问地址为http://localhost/it/default.aspx

Sharepoint多站点通过apache进行多域名访问_第1张图片

        注:如果用户访问子站点的话默认有两种:1.登录父站点单击子站点进行跳转。2.输入子站点的绝对路径进行访问。如果要想设置,用户通过指定域名无需添加指定路径,需要通过apache进行跳转;apache默认的端口为80,当然可以更改为其他端口,但是为了保证用户跳转不需要输入端口,我们需要更改sharepoint站点,需要在iis下更改端口。为了保证不冲突,我们将sharepoint的端口从默认的80更改为8080,然后修改防护墙设置,允许8080通过。

Sharepoint多站点通过apache进行多域名访问_第2张图片

Apache默认端口也是80,

Sharepoint多站点通过apache进行多域名访问_第3张图片

更改后访问的结果:

Sharepoint多站点通过apache进行多域名访问_第4张图片

 

例子:

访问:iiowss.iiosoft.com------http://iiowss.iiosoft.com/default.aspx

Iiowss2.iiosoft.com------àhttp://iiowss.iiosoft.com/it/default.aspx

Apache进行跳转:

在sharepoint安装apache修改配置文件添加以下内容:(需要将自定意的跳转修改即可)

因为我环境内只有一台公网机器,所以在跳转的时候写成了IP地址。在真是环境内,只需要创建对应的A记录即可。(注意:如果添加多条跳转信息的话,建议跳转条目之间添加空格)

RewriteEngine on

RewriteCond %{HTTP_HOST} ^iiowss2.iiosoft.com [NC]

RewriteRule ^(.*) http://x.x.x.x:8080/it/default.aspx


RewriteEngine on

RewriteCond %{HTTP_HOST} ^iiowss.iiosoft.com [NC]

RewriteRule ^(.*) http://x.x.x.x:8080/default.aspx/ [L]

Sharepoint多站点通过apache进行多域名访问_第5张图片

添加以上内容后,我们需要访问iiowss.iiosoft.com即可,自动会跳转到http://x.x.x.x:8080/default.aspx(父站点)

访问iiowss2.iiosoft.com会自动跳转到http://x.x.x.x:8080/it/default.aspx(子站点)

通过apache进行跳转访问

Sharepoint多站点通过apache进行多域名访问_第6张图片

跳转成功

Sharepoint多站点通过apache进行多域名访问_第7张图片

访问链接2

Sharepoint多站点通过apache进行多域名访问_第8张图片

跳转成功

Sharepoint多站点通过apache进行多域名访问_第9张图片


学习链接:

http://www.cnblogs.com/yeer/archive/2010/08/17/1801679.html