网站运营
位置:首页>> 网站运营>> Apache的ReWrite的应用mod_rewrite模块使用(2)

Apache的ReWrite的应用mod_rewrite模块使用(2)

 来源:asp之家 发布时间:2010-04-04 18:44:00 

标签:apache,mod_rewrite,url,rewrite,虚拟主机,服务器

集群网站的同类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://$/u/$1/$2
RewriteRule ^/g/([^/]+)/?(.*) http://$/g/$1/$2
RewriteRule ^/e/([^/]+)/?(.*) http://$/e/$1/$2
RewriteRule ^/([uge])/([^/]+)/?$ /$1/$2/.www/
RewriteRule ^/([uge])/([^/]+)/([^.]+.+) /$1/$2/.www/$3
移动宿主目录到不同的网站服务器
说明:
通常,许多网管在建立一个新的网站服务器时,都会有这样的要求:重定向一个网站服务器上的所有宿主目录到另一个网站服务器。
方案:
很简单,用mod_rewrite。在老的网站服务器上重定向所有的URL /~user/anypath到http://newserver/~user/anypath。
代码:
RewriteEngine on
RewriteRule ^/~(.+) http://newserver/~$1 [R,L]
0
投稿

猜你喜欢

手机版 网站运营 asp之家 www.aspxhome.com