额,传说中的尾牙,多吃一点多吃一点。。。
不知道能不能抽中奖啊。眼精快绿了。。。。
鸡头要不要对着我呢?很是纳闷啊。。。。。
看情况,如果有盛况就手机上来发发微勃,没盛况嘛 ,吃好回家洗洗睡。
一年就这样过去了。
PS:一个奖项都没有中到郁闷啊。。。
Submitted by gouki on 2011, January 14, 5:01 PM
额,传说中的尾牙,多吃一点多吃一点。。。
不知道能不能抽中奖啊。眼精快绿了。。。。
鸡头要不要对着我呢?很是纳闷啊。。。。。
看情况,如果有盛况就手机上来发发微勃,没盛况嘛 ,吃好回家洗洗睡。
一年就这样过去了。
PS:一个奖项都没有中到郁闷啊。。。
Submitted by gouki on 2011, January 14, 3:29 PM
用Yii开发的时候,总是会有涉及到rewrite,否则,网址里一堆 index.php?r=xxxx那就真的太长了。
关于rewrite,可以参考官方的guide,不过上面只有针对apache的htaccess配置。如果是nginx,你还可以搜索一下官方的wiki,有介绍nginx的配置的。只是官方上面用的方法是try_file,只针对高版本的。如果是低版本还是得用 if (!e $request_filename)这类的【更多设置请搜索google】我这里不详细说了。
今天在用官方推出的这一种rewrite功能【Parameterizing Hostnames 】的时候,出了点问题,该功能是:
我在rules里写上了 "http://user.xxx.com/<_c:\w+>/<_a:\w+>"=>"user/<_c>/<_a>/"
然后发现访问 http://user.xxx.com/aaa/bbb/id/1的时候出现了404错误,找问题死活找不到在哪里。再转过头去看了很多其他的配置,发现都不正常。
然后,我尝试访问默认页,即没有参数的:http://user.xxx.com/default/index,咦,居然正常了。。但问题随之而来,其他链接都不正常,经过不停的测试测试再测试。最终发现,把""user/<_c>/<_a>/" 中最后一个 / 去掉就正常了。
那么,'<_m:\w+>/<_c:\w+>/<_a:\w+>' => '<_m>/<_c>/<_a>/' 和 '<_m:\w+>/<_c:\w+>/<_a:\w+>' => '<_m>/<_c>/<_a>' 的区别是什么呢?
仔细看了一下生成的链接,如果用第二种的时候,如果有多个参数,就转为 m/c/a?a=b&c=d 而如果用第一种就是生成 m/c/a/a/b/c/d 。这时候,系统可能会识别不出我这种用二级域名做rewrite的方式。于是,我去掉了最后一个“/”,一切都正常了。
期间,HM和Horadric.Cube多次对我帮助,告诉我不同的nginx参数的配置。灰常感谢。