Rewrite   二级域名的问题

Rewrite   二级域名的问题

目录结构
/www
/www/demo

希望达到的目的:
www.example.com
指向/www
***.example.com
指向/www/demo/

在.htaccess中用以下的规则已经实现了:
RewriteEngine   On
RewriteCond   %{HTTP_HOST}   ^[^www]+\.example\.com$
RewriteRule   ^/?$   /%{HTTP_HOST}
RewriteRule   ^/([a-z0-9\-]+)\.example\.com/?$   /demo/index.do?u=$1   [L]  


但是问题出来了,比如   用户访问:test.example.com的时候,确实是正确的指向了
/www/demo/index.do,但是,index.do上面的链接全部乱了,因为当用户点击
test.example.com/index.do又或者是test.example.com/test.do的时候,链接跑到了www.example.com/index.do   www.example.com/test.do,这并不是我要的结果,我需要的是:test.example.com/index.do应该链接/www/demo/index.do
求教:我应该如何设置
在httpd.conf中,对某个主机进行以下操作:

<VirtualHost   ip:80>
                rewriteengine   on
                rewritecond   %{HTTP_HOST}   [^.]+\.域名\.com$
                rewriterule   ^(.+)   %{HTTP_HOST}$1   [C]
                rewriterule   ([^.]+)\.域名\.com(.*)   /$1$2
                其他配置文件
</VirtualHost>

接着在DNS中开设一个泛解析到对应的IP地址。
就可以实现下面的方案。


域名:domain.com
绝对路径:/home/domain.com/
www.domain.com   自动解析到   /home/domain.com/www/
abc.domain.com   自动解析到   /home/domain.com/abc/
等等子域名都可以自动解析到   /home/domains.com/对应子域名名称的文件夹

直接建立子域名名称的文件夹即可使用。不需重启apache。
嗯,这个功能很实用,通过Apache还可以设置防盗链.

test   img
<img   src= "http://www.csdn.net/ui/styles/public_header_footer/logo_csdn.gif ">
mark
mark
<VirtualHost   ip:80>
                rewriteengine   on
                rewritecond   %{HTTP_HOST}   [^.]+\.域名\.com$
                rewriterule   ^(.+)   %{HTTP_HOST}$1   [C]
                rewriterule   ([^.]+)\.域名\.com(.*)   /$1$2
                其他配置文件
</VirtualHost>
在Windows下配置成功,为什么在Linux提示错误呢?
错误信息:
[Thu   Jun   14   15:08:46   2007]   [error]   (EAI   2)Name   or   service   not   known:   Failed   to   resolve   server   name   for   61.51.17.3   (check   DNS)   --   or   specify   an   explicit   ServerName
我按楼上的配了,为什么老是出现如下错误信息:
client   denied   by   server   configuration:   /home/java/tomcat5.5/webapps/ROOT/logo/

访问拒绝是什么原因?上面的路径确实是对的呀
http://www.programmerstudy.com/webserver/apache/20084/155.html
我的配置如下
windows\system32\drivers\etc\hosts:

127.0.0.1      localhost
127.0.0.1 cqun.edu.cn

apache的conf


<VirtualHost  *:80>
                rewriteengine  on
                rewritecond  %{HTTP_HOST}  [^.]+\.cqun\.edu\.cn$
                rewriterule  ^(.+)  %{HTTP_HOST}$1  [C]
                rewriterule  ([^.]+)\.cqun\.edu\.cn(.*)  /$1$2
        DocumentRoot "e:/htdocs"
ServerName cqun.edu.cn 
<Directory "e:/htdocs">         
Options Indexes FollowSymLinks Includes      
AllowOverride All         
Order allow,deny         
Allow from all   
</Directory>
</VirtualHost>

现在我通过http://cqun.edu.cn能够访问e:\htdocs
在e:\htdocs下有目录news
但是我通过http://news.cqun.edu.cn不能访问
只能通过http://cqun.edu.cn/news/访问
这是怎么回事呀,大侠们,帮帮我呀
mark