Bo-Blog 模板文件info.php编码的BUG


自从我的博客出国后,一直有两个问题因扰着我:

1、lighttpd 下 url rewrite 高级优化规则 不懂写;

2、使用我现在的名叫 EyuneV2 模板后,后台始终登录不进去首先,对于第二个问题,摸索了两个小时发现最终的原因出现在模板文件上,当然,很感谢浪漫海儿的提醒,她说换个模板试试,结果才发现问题出现在模板文件上,但是我百思不得其解,为什么我做的模板在原先的国内服务器上使用没有问题呢,现在搬到 linux 服务器上却有问题呢,于是我分析了bo-blog 的模板缓存文件:mod_template.php ;这个缓存文件是由各个模板的 info.php 文件生成,发现当我使用其它模板时,这个缓存文件除了内容不一样外,更重要的一点是编码也不一样,因为我自己做的模板文件里 info.php 这个文件使用的是:utf-8 编码,默认模板 info.php 这个文件是 gb2312,于是我也把我的 info.php 改为 gb2312 编码,问题奇迹般解决了!

我当初使用 utf-8编码是参照 bo-blog 模板制作教程里要求做的:

info.php 这个文件存放了风格的作者等重要信息。 它必须是没有错误的PHP文件,编码必须采用UTF-8。(我们推荐使用的文本编辑器见第二部分。) info.php 文件存放于./blog/template/default/ 文件夹下。 结合这个文件为您说明该文件的结构。注意:双斜杠 // 后面以及 和 // 之间的文字为注释,事实上您的文件不需要包括这些注释
总结这个问题:

1、对于 windos 服务器来说,模板文件 info.php 无论是 utf-8 还是 gb2312 都没有问题,但是 对于 linux 服务器来说,info.php 这个文件的编码必须是 gb2312 ,制作模板的朋友要注意了。其实,细心的朋友会发现,bo-blog 的默认模板 info.php 这个文件使用的也是 gb2312 ,并没有按照模板制作教程里所写的来做。

2、info.php 这个文件很重要,如果这个文件不正常,特别是编码问题,还会导致所有上传的图片都无法打开。 对于第一个问题,我找了论坛里某一位朋友提供的方法,但是却不能支持 自定义别名,只能是自动生成的数字,即文章ID,于是我弄了一天才发现 少了一些规则没写,于是我写了以下规则:

url.rewrite = (
"^(.*)/post/([0-9]+)/?([0-9]+)?/?([0-9]+)?/?$" => "$1/read.php?entryid=$2&page=$3&part=$4",
"^(.*)/page/([0-9]+)/([0-9]+)/?$" => "$1/index.php?mode=$2&page=$3",
"^(.*)/starred/([0-9]+)/?([0-9]+)?/?$" => "$1/star.php?mode=$2&page=$3",
"^(.*)/category/([^/]+)/?([0-9]+)?/?([0-9]+)?/?$" => "$1/index.php?go=category_$2&mode=$3&page=$4",
"^(.*)/archiver/([0-9]+)/([0-9]+)/?([0-9]+)?/?([0-9]+)?/?$" => "$1/index.php?go=archive&cm=$2&cy=$3&mode=$4&page=$5",
"^(.*)/date/([0-9]+)/([0-9]+)/([0-9]+)/?([0-9]+)?/?([0-9]+)?/?$" => "$1/index.php?go=showday_$2-$3-$4&mode=$5&page=$6",
"^(.*)/user/([0-9]+)/?$" => "$1/view.php?go=user_$2",
"^(.*)/tags/([^/]+)/?([0-9]+)?/?([0-9]+)?/?$" => "$1/tag.php?tag=$2&mode=$3&page=$4",
"^(.*)/component/id/([0-9]+)/?$" => "$1/page.php?pageid=$2",
"^(.*)/component/([^/]+)/?$" => "$1/page.php?pagealias=$2",
"^(.*)/([^/|.]*)/([0-9]+)?/?([0-9]+)?/?$"  => "$1/read.php?blogalias=$2&page=$3&part=$4"
)

但是:请使用上面规则的朋友注意,非常抱歉,我写的规则并不是很兼容,如果你博客根目录上有其它自定义文件夹,而又想通过http://domain/你的文件夹名 访问的话是行不通的,非常抱歉,我所能写的就只有上面的这样了!由于自己无解决,也只能作罢,不得不使用 apache web 服务器。囧~~

已有 4 位潜水的同学浮出水面了 »

  1. rachel
    rachel 2010-01-07 21:20 回复

    模板和漂亮,祝贺你的回归!

    1. Byends
      Byends 2010-01-08 08:38 回复

      shy

  2. FORECE
    FORECE 2010-01-08 02:52 回复

    just come here and say hello to you...

    1. Byends
      Byends 2010-01-08 08:38 回复

      thanks

添加新评论 »