dirify属性的妙用

dirify可以让我们把网址中的空格改成我们所需要的字符,比如dirify="+",我们就可以把网址中的空格改成"+"。

在把MovableType的Tag静态化的时候,那时我没有对Tag进行处理,如果一个Tag是由多个单词组成的话,那么在网址中就会出现空格,现在我们可以用"+"来代替空格,虽然说有空格的时候URL rewrite可以正常工作,但是URL是不允许出现空格的(URLs cannot contain spaces. URL encoding normally replaces a space with a + sign.)。

修改的办法很简单,就是把:

<a href="<$mt:BlogURL$>tag/<$MTTagName$>/" rel="tag" >

改成:

<a href="<$mt:BlogURL$>tag/<$MTTagName dirify="+" $>/" rel="tag" >

其他的都不需要修改。因为搜索结果是一样的。比如你在MovableType的搜索框中输入"one two"和输入"one+two",返回的结果是一样的,系统自动会把"+"忽略。记得我以前在看到RWW的tag的时候,这应该就是为什么他们的tag多个单词之间的空格用"+",而不用"-"或者"_"的原因吧。

后来我把Tag改成用Google Custom Search来显示,这个办法依然可行,因为当输入的搜索关键字有空格的时候,google会自动加入"+"。由于对URL Rewrite的规则不是很清楚,没有成功地给Google Custom Search写出URL Rewrite规则。