Solved two small problems

从AppServ转到APMServ之后,出现了两个问题,依靠在newsmth的提问和个google,全部搞定,记录流水帐如下:

Blog顶部出现了很奇怪的Warning: Cannot modify header information - headers already sent by (output started at D:\APMServ\www\htdocs\www.iamcj.net\blog\wp-blog-header.php:1) in D:\APMServ\www\htdocs\www.iamcj.net\blog\wp-content\plugins\ImageCounter\ImageCounter.php on line 47。

看着提示,到ImageCounter.php的47行一看,没有什么特别的,是一行设置cookie的内容。

再看wp-blog-header.php的第一行,还是没有思路,看错误信息好像是重复发送了header,怎么会呢。

放狗搜,同样的问题别人早碰到过了,同时在这儿有更详细的理论阐述(拜yskinJ)是因为wp-blog-header.php在保存的时候,加了一个unicode的签名,一般这是因为用了Windows自带的记事本编辑导致的,解决的办法是用EmEditor或者UE之类的工具,保存的时候去掉下面这个类似的选项,就OK了;

WordPress的重定向功能失效,具体表现就是blog首页打开完全正常,点击任何文章、分类、评论都出错,但是后台也可以进去,看起来也没有错误。偶然发现在”设置——永久链接——自定义永久链接结构——常规设置”里面选择默认方式就好了,也就是/?p=123的形式,但是这样一来以前全部的链接就都失效,这个代价也太大了些,继续找办法……

有人把这个问题归纳为rewrite重写功能没有打开并提出的解决办法,但是我phpinfo看到的信息rewrite分明是enable的,在newsmth上问,没有结果,有朋友说有时候就是有这样的问题,没办法,不死心。

不过经过前面的迷茫,已经把目光集中到rewrite功能上了,集中精力找APMServ和这个的关系(因为是切换服务器之后出现的),终于找到症结所在,APMServ环境下里面,影响这个功能的有三个地方:

  1. 全局的httpd.conf,影响整个服务器,位于/Apache/conf,检查rewrite_module模块前面有没有被#注释掉;
  2. 局部的vhost.conf,影响当前虚拟主机,位于/Apache/conf /apmserv,对应的虚拟主机的AllowOverride后面如果是None(默认值),就不能复写,得修改成Options FileInfo;
  3. 目录下的.htaccess文件,影响当前目录,RewriteEngine必须是On,这个一般没问题,是具体程序(如WordPress设置的)。

我前面忽略的就是第二点,修改,重启apache,搞定。


——
·本文由 iamcj 原创,采用“CC创作共用”方式共享

Comments

4 Responses to “Solved two small problems”

  1. 崔衍渠 Windows XP Internet Explorer 6.0 on 8月 8th, 2007 9:16

    路过 ,留名。

  2. iamcj Windows Server 2003 Internet Explorer 6.0 on 8月 9th, 2007 0:30

    看上面的崔大哥的榜样,路过的都要留个名啊:)

  3. guan Windows Vista Mozilla Firefox 2.0.0.7 on 10月 25th, 2007 20:32

    谢谢你的文章,帮我解决了重定向的问题

  4. iamcj Windows Vista Internet Explorer 7.0 on 10月 26th, 2007 20:56

    guan 在 2007-10-25 20:32 时说:

    谢谢你的文章,帮我解决了重定向的问题

    能对朋友有用,再好不过

Leave a Reply