手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2024年11月的文章

公司年夜饭

额,传说中的尾牙,多吃一点多吃一点。。。
不知道能不能抽中奖啊。眼精快绿了。。。。

鸡头要不要对着我呢?很是纳闷啊。。。。。

看情况,如果有盛况就手机上来发发微勃,没盛况嘛 ,吃好回家洗洗睡。

一年就这样过去了。

PS:一个奖项都没有中到郁闷啊。。。

Tags: 尾牙, 年夜饭

Yii Rewrite中遇到的困惑

用Yii开发的时候,总是会有涉及到rewrite,否则,网址里一堆 index.php?r=xxxx那就真的太长了。

关于rewrite,可以参考官方的guide,不过上面只有针对apache的htaccess配置。如果是nginx,你还可以搜索一下官方的wiki,有介绍nginx的配置的。只是官方上面用的方法是try_file,只针对高版本的。如果是低版本还是得用 if (!e $request_filename)这类的【更多设置请搜索google】我这里不详细说了。

今天在用官方推出的这一种rewrite功能【Parameterizing Hostnames 】的时候,出了点问题,该功能是:

XML/HTML代码
  1. Parameterizing Hostnames  
  2.   
  3. Starting from version 1.0.11, it is also possible to include hostname into the rules for parsing and creating URLs. One may extract part of the hostname to be a GET parameter. For example, the URL http://admin.example.com/en/profile may be parsed into GET parameters user=admin and lang=en. On the other hand, rules with hostname may also be used to create URLs with paratermized hostnames.  
  4.   
  5. In order to use parameterized hostnames, simply declare URL rules with host info, e.g.:  
  6.   
  7. array(  
  8.     'http://<user:\w+>.example.com/<lang:\w+>/profile' => 'user/profile',  
  9. )  
  10.   
  11. The above example says that the first segment in the hostname should be treated as user parameter while the first segment in the path info should be lang parameter. The rule corresponds to the user/profile route.  
  12.   
  13. Note that CUrlManager::showScriptName will not take effect when a URL is being created using a rule with parameterized hostname.  
  14.   
  15. Also note that the rule with parameterized hostname should NOT contain the sub-folder if the application is under a sub-folder of the Web root. For example, if the application is under http://www.example.com/sandbox/blog, then we should still use the same URL rule as described above without the sub-folder sandbox/blog.  

我在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参数的配置。灰常感谢。

Tags: yii, rewrite, rules, route, htaccess

Creating a absolute path from a relative URL

上午hihiyou问我,如何把“http://www.ss126.com/shop/../../bigimg/../bigimg/china-ef.com_200951117215473416.jpg”转换成实际路径的时候,我写了一个简单的方法:

PHP代码
  1. $url = 'http://www.ss126.com/shop/../../bigimg/../bigimg/china-ef.com_200951117215473416.jpg';  
  2.   
  3. $pathinfo = array(  
  4.     'path'=>'???',//相当于项目的根目录  
  5.     'url'=> 'http://www.ss126.com/'  
  6. );  
  7.   
  8. $url = realpath(str_replace($pathinfo['url'],$pathinfo['path'],$url));  //获取实际路径   
  9. //然后  
  10. if(strpos($url,$pathinfo['path'])!==false){//防止路径乱掉,或者进入其他目录   
  11.     $url = str_replace($pathinfo['path'],$pathinfo['info'],$url);  
  12. }else{  
  13.     $url = $pathinfo['url'];  
  14. }  

结果,他告诉我,不是本地程序。然后找了这样的代码 。。。

http://www.web-max.ca/PHP/misc_24.php
  1. <?php  
  2.   
  3.     $url = "http://www.goat.com/money/dave.html";  
  4.     $rel = "../images/cheese.jpg";  
  5.       
  6.     $com = InternetCombineURL($url,$rel);  
  7.       
  8. //  Returns http://www.goat.com/images/cheese.jpg  
  9.   
  10.     function InternetCombineUrl($absolute$relative) {  
  11.         $p = parse_url($relative);  
  12.         if($p["scheme"])return $relative;  
  13.           
  14.         extract(parse_url($absolute));  
  15.           
  16.         $path = dirname($path);   
  17.       
  18.         if($relative{0} == '/') {  
  19.             $cparts = array_filter(explode("/"$relative));  
  20.         }  
  21.         else {  
  22.             $aparts = array_filter(explode("/"$path));  
  23.             $rparts = array_filter(explode("/"$relative));  
  24.             $cparts = array_merge($aparts$rparts);  
  25.             foreach($cparts as $i => $part) {  
  26.                 if($part == '.') {  
  27.                     $cparts[$i] = null;  
  28.                 }  
  29.                 if($part == '..') {  
  30.                     $cparts[$i - 1] = null;  
  31.                     $cparts[$i] = null;  
  32.                 }  
  33.             }  
  34.             $cparts = array_filter($cparts);  
  35.         }  
  36.         $path = implode("/"$cparts);  
  37.         $url = "";  
  38.         if($scheme) {  
  39.             $url = "$scheme://";  
  40.         }  
  41.         if($user) {  
  42.             $url .= "$user";  
  43.             if($pass) {  
  44.                 $url .= ":$pass";  
  45.             }  
  46.             $url .= "@";  
  47.         }  
  48.         if($host) {  
  49.             $url .= "$host/";  
  50.         }  
  51.         $url .= $path;  
  52.         return $url;  
  53.     }  
  54.   
  55. ?>   

好吧。我承认,上面这个更方便一点。

Tags: absolute, relative

【酷】Ultimate CSS Gradient Generator

没什么好说的,一个字:酷

上图:
大小: 104.19 K
尺寸: 500 x 368
浏览: 2188 次
点击打开新窗口浏览全图

上链接:http://www.colorzilla.com/gradient-editor/

我还能说些啥尼?

Tags: css, gradient, colorzilla

Python学习资源

学习Python的时候,还是翻了一些资料,也看到了一些资源。收集着,以后慢慢看。

http://woodpecker.org.cn/abyteofpython_cn/chinese/index.html
嗯,http://woodpecker.org.cn/,这个网上有很多Python的资源哦。
然后在这个网站还有这些链接哦

都挺不错。也几乎点开看了。。相对于这个,我其实更喜欢这样的CHM文件,

这两个链接里,可是有CHM文件下载的哦。

Tags: python