301重定向正则表达式实例应用

修改.htaccess文件达到301重定向的目的,其中如果想将domain.com域名下的所有url转到www.domain.com下,规则如下:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]

但实际用到的301转向并不是如此简单的应用,诸如程序调整目录,文件命名规则的改变,就需要用到正则表达式来设置相关的301重定向了,几个简单的301重定向正则表达式的例子如下:

RewriteRule ^(.*?)(\/\d.*)$ $1_bing$2  [R,L]
RedirectMatch ^/archiver/(.*)$ /bbs/archiver/$1 [L]
RedirectMatch ^/chrome/([a-zA-Z]+)/(.*).html$ /chrome/$1-$2.html [L]
RedirectMatch ^/msn/([a-z]+)/(\d{4})([0-9]+).html$ /live/$1/2009$3.html [L]


([a-z]+)表示多位的小写英文字母。
([a-zA-Z]+)表示多位的大小写英文字母。

([0-9])表示单个的阿拉伯数字;
([0-9]{1,2})表示两位的阿拉伯数字;
([0-9]+)表示多位的阿拉伯数字;

(\d)同上一个。
(\d{4})表示多位的阿拉伯数字的前四位数字。
(\b)表示单词的开始或结束; (\w)表示任意的字母或数字或下划线或汉字;
(\s)表示任意的空白符;

(.*)表示任意字符。

redirect 301 /go/search.htm /data/google.html
redirect permanent /go/search.htm /data/google.html
其中redirect permanent和redirect 301应用效果相同。

更多正则表达式的内容看这里吧http://zh.wikipedia.org/wiki/正则表达式
月光博客自己总结的常用正则表达式http://www.williamlong.info/archives/433.html

小妞一岁八个月的风雨江湖

  小妞到昨天是整整一岁九个月了,从她出生初闯江湖起,每一天都和我们分享着她不同的成长快乐。她用自己的眼睛、嘴巴和手脚努力的探求世界,因为太过积极,会时不时的经历风险。不过说来在她一周八个月的三十来天中,确实也学到了太多的东西,这里就以图文记录下来吧。





一、荡起了秋千

  
小家伙第一次玩荡秋千就很兴奋,当时一岁五个多月,两只手紧紧的抓着铁链子,开心溢于言表;荡秋千很简单,但是对于一个小孩子,体验一种全新的运动方式,需要自己来控制平衡,但他们喜欢这种挑战,快乐自在其中。现在小家伙玩荡秋千很熟练并乐此不疲。



(一岁七个多月的妞)





二、学会了蹬小三轮车

  
1.妞虽然从八个月的时候就喜欢坐着这个桔黄色的儿童三轮车上晃悠,但无奈,脚蹬车蹬前行、控制车把方向这两项高技术含量的技能太难掌握了,于是骑车就成了做做样子了,你看她那小样:



(八个月的妞坐在车上也不亦悦乎)

  
2.经过一年时间的艰苦历练,小家伙终于可以蹬着小三轮车满屋跑了,当她第一次成功的蹬着脚蹬子往前走的喜悦,我想她心里一定狠狠的说:终于把你这个家伙拿下啦。



(妞:我可以在家里骑车兜风啦:P)





三、玩遍各式各样的滑梯套餐

  
1.少年宫的滑梯,第一次还老老实实的玩那最初级的小滑梯和旋转滑梯,在为她流畅的滑下来,不用再做保护而欣慰。





   2.结果没几天的时间,再去的时候那组滑梯的各个组件都被她自己充满好奇心的玩了一遍,而不需要我们做辅助。



(从这里爬上去)



(从这里滑下来)



(穿越绳洞)



(穿越绳洞2)





(虽然是有保护的独木桥,小妞走起来一样小心翼翼)



四、能清楚无误的从1数到10了

  
1.这同样是一个贯穿了几个月的学习工程,从开始一岁时走路说的“一、二、一”,到后来真正开始数数。但她的成绩始终是“1、3、5、6、7、8、9、10”或者“1、3、6、7、8、9、10”,2、4是她坚持要落下不数的数字。



(瞧,一岁时的傻样)

  
2.等她到一岁八个半月的时候,这项刷新她自己的数学学习史的记录终于出现了,小妞子自己突然就能完整的从1数到10了,不过你可别被她的假象所迷糊,事实上,物体的数量,她只能掌握到3个,当有4个李子放到她前面的时候,她就会蒙着说七个或者八个。





五、开始完整的唱出儿歌

  
妞子妈在小家伙很小的时候就经常给她唱童谣、儿歌;在一岁八个多月的时候突然就有了收获,一次在户外玩的开心的小妞很自然的唱出了童谣“小白兔,白又白,……”,没几天就有学会了“小老鼠,上灯台,……”。也终于可以听到小人奶声奶气的说出更多完整的话来,大家开心自然难免。







六、可以用筷子吃饭了

  
小妞好像有些能吃辣,比如烤串、鸭脖子带点辣味都能接受,这不又吃起了麻辣烫,我和她娘惊奇的发现,她用筷子夹起麻辣烫来轻松平常。看来她几个月来在餐桌上自己用筷子糟蹋饭菜也算有了成绩,恭喜一下吧。



(这对妞来说也算大快朵颐了)

dedecms5.1升5.31需要注意的小地方

dedecms是一款很不错的开源的cms,但在使用中出现小问题,到官网论坛去交流互动很差。不过,很难得的是很多用dedecms的朋友会把自己应用的一些心得公之于blog或bbs。这样通过搜索引擎就可以找到自己想要的东西了。

我在dedecms5.1升5.31的时候也碰到了两个怪异的小问题:

1. dede5.31数据表中litpic字段数值比5.1时要小,这样升级就会有损失,只要在升级前修改u.createtable.sql文件中litpic的值大一些,我改成了120。

2. 升级完成之后,不知为什么会自动写入一篇ID为11111111的文章,你再发文章ID就会累计为11111112,而不是从你原来的文章ID上累积。这时只要在数据库中删掉ID为11111111的文章数据,在dede_arctiny表中将Autoindex的数值改为你的最大文章ID+1就可以了。

3. 文章页边栏的推荐内容、热点内容不显示内容,需要在dedecms管理后台-系统基本参数-性能选项的“id 文档ID,content 标签最终内容”,改为id(原为content ),执行完该操作重新生成文章页即可。

4. dedecms5.31的文章副栏目功能是默认关闭的,需要到dede后台-系统设置-系统基本参数-性能选项页面,选上"是否启用副栏目"即可。但副栏目的文章不会在父栏目或者频道页显示。解决这个问题,需要修改dedecms安装目录下的/include/taglib/arclist.lib.php的文件第178行的内容为(该修改由网友georgegodman提供):

//if($CrossID=='') $orwheres[] = ' arc.typeid in ('.GetSonIds($typeid).')';
//else $orwheres[] = ' arc.typeid in ('.GetSonIds($typeid).','.$CrossID.')';
if($CrossID=='') $orwheres[] = ' (typeid in ('.GetSonIds($typeid).') or typeid2 in ('.GetSonIds($typeid).'))';
else $orwheres[] = ' (typeid in ('.GetSonIds($typeid).','.$CrossID.') or typeid2 in ('.GetSonIds($typeid).','.$CrossID.'))';

5. dede5.31发布文章时的来源、作者方式和5.1已经不一样了,如果不想用默认的方式,可以修改dedecms安装目录下的/dede/article_add.php文件的第95行处:
//对保存的内容进行处理
if(empty($writer))$writer=$cuserLogin->getUserName();
if(empty($source))$source='未知';
改为
//对保存的内容进行处理
if(empty($writer))$writer='佚名';
if(empty($source))$source='网络';

6. 将频道、栏目的链接改为目录,而不是目录下的index.html。可以修改include/channelunit.func.php文件内容:

//$reurl = $typedir.'/'.$defaultname;
注释掉上面一行,改为:
$reurl = $typedir.'/';

7. 通过dede管理后台-核心-频道模型-自由列表管理生成Google Sitemap,添加内容如下图(该方法由网友kig提供):


每页记录数:5000,此处可以修改为一个比你的网站文章数大一些的数值。
循环内的单行记录样式(InnerText)内容为:

<url>
<loc>[field:arcurl function="Gmapurl(@me)"/]</loc>
<lastmod>[field:senddate function="strftime('%Y-%m-%d',@me)"/]</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
其中<changefreq>为更新频率,可以根据自己的实际情况修改。

石景山万达广场家乐福昨日起关门了

前天石景山万达广场开业,看到万达广场边停了二十来辆GA的车子,其中还有两辆大客和几辆依维柯,里面坐满了武警内卫。仔细看车牌警车、武警、内卫悉数上场。

今天看到一则万达广场家乐福的新闻,才知道因为第一天开业人太多,家乐福应付不过来只好关门几天了。

谷歌拼音输入法2.0.2.21的一个小问题

最早的中文拼音输入法,在中文输入状态的时候,都是将英文的"\"键作为中文"、"的。但后来的紫光拼音输入、拼音加加输入法都将中文的"、"改为英文的"/"键输入,再后来的搜狗拼音输入法和谷歌输入法也跟随了这个潮流,目的无他,即是为了输入顿号的方便,毕竟顿号"、"在中文中还是很常用的。

但现在谷歌拼音输入法2.0.2.21复古了,又改回到了"\"键输入"、"。这让人很不习惯。

Google Account有更新 模式或成互联网样板

Google近日对Google Account界面做了更新,相比过去的右侧单列模式:



新的Google Account可以将你的全部Google products在一屏里显示出来,不过新版Google Account似乎只对英文版做了更新,中文版目前还是旧的模式,新Google Account界面如下:



个人觉得Google Account是Google产品中很核心的一个服务,通过它汇总了你的所有Google products。加上Google所有服务页面最上方的栏目导航,可以在Google各个服务间快速切换,而且难能可贵的是这个顶部的bar并不抢眼。Google大部分的服务相比其他网站提供的服务更贴心。就从顶部导航来看,百度、微软Live都在做,但它们对产品的整合已经顶部导航做的却混乱不堪。特别是Live,导航的内容不但没有统一,就连位置也突然在页面顶部,或者跑到页面中部,让人网站服务流程上实在不知所踪。

而QQ在这点做的更差,它几乎没有这个东西,你在QQ首页很难找到用户登录框,更别说QQ对个人提供的服务汇总了,光靠QQ客户端的整合推广是不够的。

闲话几句,其实就想说的是如何通过网站导航以及用户的Account更好的做好自己的服务流程成为太多互联网公司要做的课程。

Google要恢复Google Page 服务了

前两天在搜索结果中发现googlepages.com的二级域名网址可以放问了。

今天点击Google My Account的Page Creator链接,竟然可以正常放问Google Page Creator进行操作。

难道Google又要恢复Google Page服务了,这似乎也印证了Google Sites服务质量的差强人意。

Windows Live SkyDrive申请新方法

目前Windows Live SkyDrive服务还没有对国内的live用户开放注册,虽然有消息称微软即将对大陆Live用户开放SkyDrive服务,并将在近期对SkyDrive进行扩容,使之由原来的5G存储空间增加到25G。加上SkyDrive的快速反应,以及提供外链与下载,还有近期即将增加的新功能,使人们对SkyDrive重拾热情。但如果想马上使用的话,申请起来还需要些小窍门,不过这里有一个最简单的申请方法:

1 下载无界浏览,并运行它;
2 在IE里打开http://skydrive.live.com/,点击“开始使用”,如果转入到你的SkyDrive首页即为成功;

我测试了一下,该方法一次成功。你既无需更改浏览器的默认语言为“英语(美国) [en-us]”;也不需要修改自己的Live账户中的默认语言及个人资料里的所在地区。

当然这个方法原理也是通过代理申请的机制,只不过不需要搞那么多的设置;如果该方法不能一次成功,建议再试几次。

其实,如果你有下面38个国家的可用匿名代理,只要没有被微软废掉就可以申请SkyDrive。下面是Windows Live SkyDrive官方博客公布的SkyDrive服务开放的国家和地区,共计38个:

英国,印度,美国,阿根廷,澳大利亚,奥地利,比利时,玻利维亚,巴西,加拿大,智利,哥伦比亚,丹麦,多米尼加共和国,厄瓜多尔,萨尔瓦多,芬兰,法国,危地马拉,洪都拉斯,意大利,日本,墨西哥,荷兰,新西兰,尼加拉瓜,挪威,巴拿马,巴拉圭,秘鲁,波多黎各,葡萄牙,韩国,西班牙,瑞典,瑞士,台湾和土耳其。