Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

游客访问首页body未结束,过了一年多都没解决。疏忽还是故意为之?

[复制链接]
hbfly 发表于 2013-7-19 22:54:23 | 显示全部楼层 |阅读模式
本帖最后由 hbfly 于 2013-7-19 23:17 编辑

发现有几个人都提过这个问题,官方居然一直没重视。
具体症状是 如果后台设置:  性能优化》论坛页面缓存设置 》首页缓存打开(设置为900)。
那么在 游客(未登录)情况下 首页 body 和HTML 标签没有结束
以下链接有人遇到同样问题,看来是Discuz官方的BUG。
https://discuz.dismall.com/thread-3290993-1-1.html而且2012年就有人提出来,官方还当时说会解决  https://discuz.dismall.com/thread-3165083-1-1.html
看样子一直没打算解决。

而且更严重的其实是模板里面<!--{eval output();}--> 之后的代码都没有了。
经检查可能是 forum_index.php 里面的 get_index_page_guest_cache() 这个有问题。
目前用了比较蠢 的办法,就是把<!--{eval output();}-->放到模板结尾处</body></html>标签之前,然后在get_index_page_guest_cache里面把结尾补上,如下:
  1. echo "<script type="text/javascript">
  2.                         if($('debuginfo')) {
  3.                                 $('debuginfo').innerHTML = '. This page is cached  at $updatetime $gzip .';
  4.                         }
  5.                         </script></body></html>";
复制代码
不过 我发现 百度的首页body也没有结束,难道这个做法是潮流?
知乎也有人讨论这个:http://www.zhihu.com/question/19617126
--------------------------------
继续研究发现:


HTML规范(即doctype声明为html4.01 strict或html5)中,有部分标签是可以不用闭合的:
<html>
<body>
<colgroup>
<thead>
<tr>
<tbody>
<td>
<p>
<dt>
<dd>
<li>
<option>
<tfoot>
https://developers.google.com/speed/articles/optimizing-html?hl=zh-CN
谷歌官方的文档也说不闭合是允许的,而且据说可以优化网站速度,不知道是不是真的。
--------------------------------------
discuz官方到底是没发现这个BUG还是有意为之?如果有意为之,为何<!--{eval output();}-->之后的代码都没了。





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
白垩纪 发表于 2013-7-20 08:33:52 | 显示全部楼层
不懂。惊呆了
回复

使用道具 举报

ARCHY` 发表于 2013-7-20 11:10:35 | 显示全部楼层
不要使用检测静态页面的程序检测动态页面,这样检测没有意义的,可以通过查看源码来检查
回复

使用道具 举报

hdw1230 发表于 2013-7-20 13:53:57 | 显示全部楼层
我也有同样的问题,但似乎是动了啥东西引起的。
回复

使用道具 举报

0day_You 发表于 2013-7-20 14:59:48 | 显示全部楼层
没有闭合只是表面现象 更深入的现象就是:伪静态不会成功 seo查询返回是500等,不知道现在有没有解决的办法 有请告知 谢
回复

使用道具 举报

 楼主| hbfly 发表于 2013-7-20 17:13:04 | 显示全部楼层
本帖最后由 hbfly 于 2013-7-20 17:17 编辑
ARCHY` 发表于 2013-7-20 11:10
不要使用检测静态页面的程序检测动态页面,这样检测没有意义的,可以通过查看源码来检查

我是直接查看HTML页面源码来查看的。通过IE,Chrome和火狐都可以看到没闭合。不信你也可以试试看,关闭首页的缓存,然后不要登录,用游客方式访问首页,再看HTML源码,会发现没有闭合。
首页在游客状态下应该是静态的,因为设置了首页缓存值 900。
而且我手动在forum_index.php源码里面加上</body></html> 再查看HTML页面源码,确实是可以完成闭合的。
另外删除<!--{eval output();}--> 这一段也是可以完成闭合的,但是<!--{eval output();}--> 这个删除了会出现更严重的站内链接不标准的问题。
回复

使用道具 举报

 楼主| hbfly 发表于 2013-7-20 17:15:08 | 显示全部楼层
0day_You 发表于 2013-7-20 14:59
没有闭合只是表面现象 更深入的现象就是:伪静态不会成功 seo查询返回是500等,不知道现在有没有解决的办法 ...

不是很明白你的意思,我发现伪静态是正常的啊。<!--{eval output();}-->这段的目的就是把站内那些动态地址变成静态地址。
回复

使用道具 举报

0day_You 发表于 2013-7-20 17:36:14 | 显示全部楼层
hbfly 发表于 2013-7-20 17:15
不是很明白你的意思,我发现伪静态是正常的啊。这段的目的就是把站内那些动态地址变成静态地址。

可能错误等级不同吧 最主要我seo查询的时候尽然返回的是500 去掉output就正常了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-3-7 05:21 , Processed in 0.030674 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表