帮忙修改一下这个rewrite配置

帮忙修改一下这个rewrite配置

让别人访问http://shop.domain.com/username时显示网址还是这个,
但是实际访问的是http://localhost/ydb/reg/index/wangpu/dbshop.php?sid=username,
而且username需要是一个3-8位的数字和字母组成的串,
我写了一个目前有点问题,就是输入http://shop.domain.com/username,但是会跳转到http://localhost/ydb/reg/index/wangpu/dbshop.php?sid=username,
还有一个问题就是username如果输入8位以上它会自动取前8位,而且如果是输入username/xxx它会跳到dbshop.php?sid=xxx
希望高手帮我看看,50分献上,谢谢
目前我的是这样的:
<VirtualHost   127.0.0.1>
        ServerAdmin   webmaster@dummy-host.example.com
        DocumentRoot   E:\Apache2\webroot\ydb\reg\index\wangpu
        ServerName   shop.domain.com
        ServerAlias   shop.domain.com
RewriteEngine   On
RewriteCond   %{REQUEST_URI}   ^(.*)
RewriteRule   ^(.*)\/([a-zA-Z0-9]{3,8})   http://localhost/ydb/reg/index/wangpu/dbshop.php?sid=$2   [R,L]
</VirtualHost>
目前我改成了这样,这样地址就不会跳到http://localhost/ydb/reg/index/wangpu/dbshop.php?sid=username上了
目前这个(还有一个问题就是username如果输入8位以上它会自动取前8位,而且如果是输入username/xxx它会跳到dbshop.php?sid=xxx
)还没解决,不过我再看看正则应该能搞定了,哈哈

<VirtualHost   127.0.0.1>
        ServerAdmin   webmaster@dummy-host.example.com
        DocumentRoot   E:\Apache2\webroot\ydb\reg\index\wangpu
        ServerName   shop.domain.com
        ServerAlias   shop.domain.com
RewriteEngine   On
RewriteCond   %{REQUEST_URI}   ^(.*)
RewriteRule   ^(.*)\/([a-zA-Z0-9]{3,8})   /dbshop.php?sid=$2   [PT]
</VirtualHost>
怎么没人帮我看看这个正则啊