Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2110830
  • 博文数量: 82
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 880
  • 用 户 组: 普通用户
  • 注册时间: 2005-03-14 00:01
文章分类

全部博文(82)

文章存档

2014年(1)

2011年(1)

2009年(8)

2008年(11)

2007年(13)

2006年(26)

2005年(22)

我的朋友

分类: 系统运维

2008-11-27 15:42:58

把httpd.conf中LoadModule vhost_alias_module modules/mod_vhost_alias.so一行开头的#去掉,
在httpd.conf中最后加入如下部分

NameVirtualHost 127.0.0.1


    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot d:/www
    ServerName localhost
    ErrorLog logs/localhost-error_log
    CustomLog logs/localhost-access_log common




    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot d:/www/www
    ServerName
    ErrorLog logs/-error_log
    CustomLog logs/-access_log common



    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot d:/www/blog
    ServerName yuan.test.com
    ErrorLog logs/-error_log
    CustomLog logs/-access_log common



    ServerAdmin webmaster@dummy-host.example.com
    #有了VirtualDocumentRoot,DocumentRoot不起作用
    #DocumentRoot d:/www/blog/all
    ServerName all.blog.test.com
    ServerAlias *.blog.test.com
    #下面两行是mod_vhost_alias起作用的关键
    UseCanonicalName Off
    VirtualDocumentRoot d:/www/blog/%-4.1%-4.2/%-4.3%-4.4/%-4
    ErrorLog logs/-error_log
    CustomLog logs/-access_log common


其中的%-4是代表倒数第4段,也就是name.blog.test.com中的name,为什么不用%1呢?
因为也许用户会输入5.name.blog.test.com这样更长的域名,而实际上第一段是无用的.
%-4.1中的.1代表第一个字母,那么name.blog.test.com就对应
d:/www/blog/na/me/name
这个目录,但是all会如何处理呢?会是
d:/www/blog/al/l/all
吗?不会,查看apache的错误日志,会发现是%-4.4因为没有第4个字母,所以是_,那就建
d:/www/blog/al/l_/all
目录,这样就对了

阅读(1989) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~