我不会,但是自己有玩过VPS上nginx的rewrite,我大概好像似乎明白这个意思,(应该是二级域名跳转吧),希望能对你有用~~有错误请指出。
RewriteMap lowercase int:tolower /*这句话应该是把是字母的字符都统一为小写,因为C里面的tolower是酱紫的,嗯,它应该是建立了一个类似于C里面的自定义函数,供下面调用*/
RewriteMap vhost txt:***/vhost.map /*这个是在指定目录(应该为你的apache配置目录)创建**vhost.map**这个文件,文件里面应该写你设定的二级域名跟指定目录对应关系*/
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$ /*RewriteCond的意思是执行条件,这里用到了第一次自定义的lowercase*/
RewriteCond ${vhost:%1} ^(/.*)$ /*这个RewriteCond(执行条件)用到了第二次我们自定义的vhost函数,%1的意思是上一行里面跟正则表达式 ^(.+)$匹配的小括号“()”的内容(就是你的二级域名), ${vhost:%1}就是按你vhost.map的内容进行替换,二级域名变成了目录地址*/
RewriteRule ^/(.*)$ %1/$1 /*这个就是url的rewrite功能了,%1就是目录地址,然后在url里面加进去*/
举个例子:如果你在vhost.map里面这样写(域名目录间是空格,目录可能要绝对路径,你试试):
hello.2dm.org /hello
然后访问http://hello.2dm.org时候,
第一句执行条件里的SERVER_NAME就是hello.2dm.org,然后经过两个执行条件后,得到了hello.2dm.org对应的目录为/hello,
经过最后那句重写后得到了2dm.org/hello资料链接:
http://www.php100.com/manual/apache2/mod/mod_rewrite.html第一次回复,好紧张。。。