-
Recent Posts
-
Recent Comments
- 10月月报 on 不小心喝多了就是会手肘酸
- yaleon on Lighttpd覆盖设置http头
- georgexsh on Lighttpd覆盖设置http头
- jianrtian on 终于红了!
- 老奶奶 on 终于红了!
-
Categories
-
Archives
Category Archives: sitelog
让Live Write支持MT的basename
Windows Live Writer 作为当下最强悍的离线Blog编辑器,对MovableType的支持有两大缺憾:
无法编辑内置Tags;
无法编辑basename(就是友好的url)。
第一项因为有良好的Keywords支持,而且在MT的xml-rpc协议中似乎没有tag的操作方法,还算过得去。第二项就有点奇怪了,因为对Wordpress是能够支持的(在WLW和WP里面这个东东叫做slug)。
在网上搜了一转,官方给了一个方案,方法是加入一个WLW manifest file。这个文件可以告诉WLW此Blog程序的功能支持情况。注意的是,不但需要在Blog根目录建立wlwmanifest.xml,还需要加入在Header模板中加入[<link rel="wlwmanifest"...]的指示。更具体的说明请移步MSDN查看。
可惜,在我施行了上述方法之后,WLW仍然无法支持basename。
继续搜索,发现manifest file里的选项是可以在注册表里覆盖的。按图索骥,找到了下面的位置:
[HKEY_CURRENT_USERSoftwareMicrosoftWindows LiveWriterWeblogs[BlogID]UserOptionOverrides]
加入一项String值:
"supportsSlug"="true"
现在打开WLW,就有slug(basename)可以用了:
不过这里的basename中的空格是无法自动转换成连字符的,会被url编码,需要手工编辑一下,不过毕竟不用登陆MT慢吞吞的后台了,有所进步。
Movable Type 4 动态发布
Movable Type支持多种发布方式,动静皆宜。静态发布自然是首选,但静态方式在编辑模板的时多有不便:每次更改都得重新构建一次才能看到效果。故用动态方式进行调试,完毕之后再用静态发布。
但动态发布却不是仅仅在后台将发布方式设置为”Publish all templates dynamically” 就可以了,还需要配置URL重写,如果是Apache,在主配置文件或者.htaccess中加上:
DirectoryIndex index.php index.html default.html /mtview.phpRewriteEngine onRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^(.*)$ /mtview.php [L,QSA]
因为MT4的动态发布是依靠mtview.php(MT会自己建立这个文件)来完成的,故将所有的请求重写给mtview.php,并且将它也设为索引页面,让根URL也可以访问。
如果mod_rewrite不被支持或是IIS的话,使用自定义的错误页面来实现:
ErrorDocument 404 /mtview.php ErrorDocument 403 /mtview.php
奇怪的是MT4的手册中并没有提到需要配置URL重写,难道MT4会自己改写.htaccess?可似乎又不是这样,让我搜索半天才从MT3的解决方法中看到希望。
参考链接:
MT 3.2 Manual
GeoWHY:以SEO的名义