V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  pinger  ›  全部回复第 4 页 / 共 4 页
回复总数  62
1  2  3  4  
2014-08-20 20:16:15 +08:00
回复了 csensix 创建的主题 问与答 apache rewritemap 规则,不懂,求解释
我不会,但是自己有玩过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
第一次回复,好紧张。。。
1  2  3  4  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   958 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 12ms · UTC 21:03 · PVG 05:03 · LAX 13:03 · JFK 16:03
Developed with CodeLauncher
♥ Do have faith in what you're doing.