apache设置blog无限个二级域名,如何让浏览器地址保持不变而不仅仅是跳转一下?

apache设置blog无限个二级域名,如何让浏览器地址保持不变而不仅仅是跳转一下?

apache的http.conf文件里面这么写的:

<VirtualHost *:80>
DocumentRoot "E:/www/htdocs/blog"
ServerName *.xxx.com
ServerAlias *.xxx.com
RewriteEngine on
#RewriteLog       logs/rewrite.log
#RewriteLogLevel  3
RewriteCond %{HTTP_HOST} ^[a-zA-Z0-9\-]+\.xxx\.com$
RewriteCond %{HTTP_HOST} !^(www|bbs|news|blog)\.xxx\.com$
RewriteRule ^/?$ /%{HTTP_HOST} [NC]
RewriteRule ^/([a-zA-Z0-9\-]+)\.xxx\.com/?$ http://www.xxx.com/e/space?urlname=$1 [P,L]
#RewriteRule ^/(.*)$ /%{SERVER_NAME}/$1
</VirtualHost>

这样就可以实现比如 输入 ccc.xxx.com直接跳转到http://www.xxx.com/e/space?urlname=ccc ,二级域名就实现了,问题是浏览器的地址也变了,这样还是不能满足要求,我想让浏览器的地址不变,然后支持 比如输入http://ccc.xxx.com/arc.htm直接跳转到http://www.xxx.com/e/space?urlname=ccc?type=arc这样的,这对优化很有利, 只是如何实现呢?据说要用反向代理,我测试几次都没有成功,盼望有实际使用经验的人详细说明下,谢谢;
我也和你遇到了相同的问题呀,在这里一直得不到解决呀,高手们都休息了,呵呵
不要用不同主机地址(HTTP_HOST)跳转,
不能用
RewriteRule ^/([a-zA-Z0-9\-]+)\.xxx\.com/?$ http://www.xxx.com/e/space?urlname=$1 [P,L]

只能用同一个 HTTP_HOST,下面的模式:
RewriteRule .* index.php

这样地址就不会变了,然后在程序里面使用
$_SERVER['HTTP_HOST'] 和 $_SERVER['REDIRECT_URL'] 2个变量,来获得参数
比如:
$domain = explode('.', $_SERVER['HTTP_HOST'], 2);
$domain[0]得到 urlname
然后通过 $_SERVER['REDIRECT_URL'] 来获得更多的参数。