WEB开发网
开发学院服务器WEB服务器Apache Apache的ReWrite的应用 阅读

Apache的ReWrite的应用

 2008-10-23 00:00:00 来源:WEB开发网   
核心提示: 集群网站的同类URL规划说明:我们希望在一个Intranet集群网站中,对所有WWW服务器建立一个同类的一致性的URL规划,Apache的ReWrite的应用(3),也就是,所有的URL(对单个服务器来说,如果URL在一个服务器上无效,需要引导所有的服务器重定向URL代码:/u/user/any

集群网站的同类URL规划

说明:

我们希望在一个Intranet集群网站中,对所有WWW服务器建立一个同类的一致性的URL规划,也就是,所有的URL(对单个服务器来说,是本地的依赖于此服务器的!)是独立于服务器的!我们需要的是一个具有独立于服务器的一致性规划的WWW名称空间,即,URL不需要包含正确的物理的目标服务器,而由集群本身来自动定位物理的目标主机。

方案:

首先,目标服务器的信息来自(产生)于包含有用户、组以及实体的外部地图,其格式形如:

代码:

user1 server_of_user1

user2 server_of_user2

: :

这些信息被存入map.xxx-to-host文件。其次,如果URL在一个服务器上无效,需要引导所有的服务器重定向URL

代码:

/u/user/anypath

/g/group/anypath

/e/entity/anypath

代码:

http://physical-host/u/user/anypath

http://physical-host/g/group/anypath

http://physical-host/e/entity/anypath

以下规则集依靠地图文件来完成这个操作(假定,如果一个用户在地图中没有对应的项,则使用server0为默认服务器):

代码:

RewriteEngine on

RewriteMap user-to-host txt:/path/to/map.user-to-host

RewriteMap group-to-host txt:/path/to/map.group-to-host

RewriteMap entity-to-host txt:/path/to/map.entity-to-host

RewriteRule ^/u/([^/]+)/?(.*) http://${user-to-host:$1|server0}/u/$1/$2

RewriteRule ^/g/([^/]+)/?(.*) http://${group-to-host:$1|server0}/g/$1/$2

RewriteRule ^/e/([^/]+)/?(.*) http://${entity-to-host:$1|server0}/e/$1/$2

上一页  1 2 3 4 5 6 7 8  下一页

Tags:Apache ReWrite 应用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接