免费WordPress主机推荐:Kilu.de

由于有计划建设一个新的主题鲜明的blog,前阵子在论坛上看到有人提起一个德国的免费空间,其实本来有一个更好的选择,那就是来自加拿大的,但是最近已经禁止对中国用户的注册了,其注册页面提示需要支付3美元的保证金,为何免费空间大部分都不稳定,正式有很多不太和谐的中国用户滥用资源,谁对谁错大家心里应该都明白,更可恶的是,中国居然存在许多专门提供免费host信息的网站,而不同的站点间存在很多的相同信息,信息来源想必是直接访问了国外的同类站点申请并测试而加入一些free host服务商信息。对这种行为我极度鄙视。
我推荐的是一个有广告的空间
该空间服务器位于德国柏林
申请地址:www.kilu.de 英文页面 www.website.org
探针地址:http://uwillbe.kilu.de/xprober.php (utf-8)
o 免费提供1GB储存空间,需要更多空间可以申请
o 没有流量限制
o PHP 5 / FTP / MySQL 5
o 送1个免费二级域名,可以绑定5个自己的域名(控制面板选项 Domains aufschalten)
o 支持Mod_rewrite网址重写功能
虽然zend是禁用的,但是没有什么大碍。

关于广告问题虽然有不少人提供了禁用的代码,google一下就有,不过我强烈鄙视用其空间而去除广告的用户,
这个广告我们可以在登入后选择commercial,在里面可以把广告改成toolbar的形式www.bestwill.info已经在2009年4月30转到美国收费主机,有需要的可以尝试访问http://uwillbe.kilu.de查看效果,另外要提的是在改空间的mail()有点小问题,wordpress需要外部smtp插件,smtp填写localhost就能正常发送系统邮件,编码需要在最顶部声明。

经过几天的测试发现该空间访问速度和稳定性极好。推荐不愿付钱的wper们使用

‘Enforce www.and index.php’实现IIS下虚拟主机301重定向

困扰很久的301重定向问题了,相信很多Windows主机的用户都会遇到和我一样的问题,特共享此插件,希望它没有辜负大家

这个插件是由Enforce www. Preference修改而来的,改插件代码如下

if ( strpos($_SERVER['HTTP_HOST'], 'www.') === 0  && strpos(get_bloginfo('home'), 'http://www.') === false ) {
$qs = $_SERVER['QUERY_STRING'];
$_SERVER['REQUEST_URI'] = substr($qs, strpos($qs, ':80')+3);
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
include('index.php');
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://' . substr($_SERVER['HTTP_HOST'], 4) . $_SERVER['PATH_INFO']);
exit();
} elseif ( strpos($_SERVER['HTTP_HOST'], 'www.') !== 0 && strpos(get_bloginfo('home'), 'http://www.') === 0 ) {
$_SERVER['REQUEST_URI'] = substr($qs, strpos($qs, ':80')+3);
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
include('index.php');
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://www.' . $_SERVER['HTTP_HOST'] . $_SERVER['PATH_INFO']);
exit();
}
?>

经过测试发现此插件并不完全适用于Windows主机下,http://bestjq.com直接使用该插件的结果是主页显示空白页,而其他页面均完美通过代码实现了301转发,去除第一段if 则实现301转发,但是主页转发后并没有去除“index.php”这点是非常让人觉得遗憾的地方,结果一些时间的思考终于找到了完美的解决办法,对if else语句进行了部分修改,经过测试能够完美实现Windows主机下强制加入/去掉WWW前缀和去除主页index.php后缀,欢迎大家下载使用,如有更好的修改方法或者有问题请告诉我。

下载地址:http://bestjq.com/wp-content/uploads/Enforce-www-and-index.rar

使用说明:1.有无www.是根据wordpress设置里面网站地址和博客地址决定的

2.在此之前可能要处理过永久链接的去除index.php问题去除的办法是在根目录下404.php内写入以下代码(如果出现404错误)

<?php
$qs = $_SERVER['QUERY_STRING'];
$_SERVER['REQUEST_URI'] = substr($qs, strpos($qs, ':80')+3);
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
include('index.php');
?>

Windows主机下WordPress的tag解决办法

国内还是有很多的主机是用IIS+php+mysql搭建的,对于使用wordpress的用户来说,服务器是windows系统的话下一定遇到过以下2钟情况
1.永久链接中的问题,在链接中会有“index.php”,这个问题可以通过伪静态处理的方法来解决
2.tag中中文tag的链接转向404
昨天无意中发现第二个问题没有解决,现在提供解决办法供参考
首先我尝试了修改rewrite.php,此法如下:

打开wp-includes下rewrite.php
function get_tag_permastruct() {
if (isset($this->tag_structure)) {
return $this->tag_structure;
}

if (empty($this->permalink_structure)) {
$this->tag_structure = ”;
return false;
}

把黑体部分替换成if (! empty($this->permalink_structure)) {

此法确实能够解决连接问题,但是修改后tag的链接格式会变成系统默认的/?tag=%tag%/,经过摸索修改下面一行可能能解决格式问题,但是经过尝试,失败。欢迎高手赐教。

于是找了第二种解决方案:修改classes.php

打开wp-includes下classes.php

找到45行(2.7版本中为152行)开始

if ( isset($_SERVER['PATH_INFO']) )
$pathinfo = $_SERVER['PATH_INFO'];
else
$pathinfo = '';
$pathinfo_array = explode('?', $pathinfo);
$pathinfo = str_replace("%", "%25", $pathinfo_array[0]);
$req_uri = $_SERVER['REQUEST_URI'];

修改为

if ( isset($_SERVER['PATH_INFO']) )
$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'],"utf-8","gbk");
else
$pathinfo = '';
$pathinfo_array = explode('?', $pathinfo);
$pathinfo = str_replace("%", "%25", $pathinfo_array[0]);
$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'],"utf-8","gbk");

通过这种方法修改能保持原来的永久链接方式,效果不错

注意:代码可能会因编码问题复制出错,建议使用英文输入对照黑体部分手动修改;改rewrite.php过程中不要修改永久链接中相关设置,不然会出现所有tag的链接都转向404页

OK,enjoy it!