LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 648|回复: 0

[分享]虚拟主机的动态配置[zt]

[复制链接]
发表于 2005-5-8 21:16:43 | 显示全部楼层 |阅读模式
看到这样的一篇文章,很感兴趣,但对rewrite部分不太懂,不知高手能否详细解释一下?


使用独立的虚拟主机配置文件
当你修改vhost.map的时候,不需要重新启动Apache


这样的布局利用了 mod_rewrite 的高级特性, 在独立的虚拟主机配置文件中转换。如此可以更为灵活,但需要较为复杂的设置。

vhost.map 文件包含了类似下面的内容:
  1. http://www.customer-1.com/    /www/customers/1
  2. http://www.customer-2.com/    /www/customers/2
  3. #......
  4. http://www.customer-n.com/   /www/customers/N
复制代码


http.conf 包含了:
  1. RewriteEngine on

  2. RewriteMap lowercase int:tolower

  3. # 定义映像文件
  4. RewriteMap vhost txt:/VHOST.map的路径/vhost.map

  5. # 和上面的例子一样,处理变名
  6. RewriteCond %{REQUEST_URI} !^/icons/
  7. RewriteCond %{REQUEST_URI} !^/cgi-bin/
  8. RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
  9. # 这里做基于文件的重新映射
  10. RewriteCond ${vhost:%1} ^(/.*)$
  11. RewriteRule ^/(.*)$ %1/docs/$1

  12. RewriteCond %{REQUEST_URI} ^/cgi-bin/
  13. RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
  14. RewriteCond ${vhost:%1} ^(/.*)$
  15. RewriteRule ^/(.*)$ %1/cgi-bin/$1
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表