The requested URL xxx was not found on this server

2010-03-15 10:01 pm

这个xxx可能是任何你服务器上的文件地址,你用mod_rewrite重定向过的那些

出现这类问题的原因就是你的.htacess文件里面“RewriteBase /”这个斜杠后面可能多加了点儿什么,或少加了点儿什么,这个地址就是论坛根目录与.htacess相对的地址,如果.htacess是放在论坛根目录下的,就只有斜杠,不要乱加什么东西了

此说明主要是给用Discuz的小白提个醒,特别是像我这种手上带钩,不知道什么时候就会在斜杠后面默默写上不该出现字符的人...

推荐(0)
收藏

把Discuz论坛全局显示的用户名用昵称代替(如果有)zz

2010-01-25 11:14 am

转载于此

有用户提出此需求,其实很久很久之前我自己也有,只是后来用惯了忘了...

还没试验,留作备份,有空就改

打开include/common.inc.php
找到:

$membertablefields = 'm.uid


在上面加:

$otherfields = ',mf.nickname';


找到:

s.seccode, $membertablefields


在后面加:(前面有空格)

$otherfields


找到:

{$tablepre}sessions s, {$tablepre}members m


在后面加:(前面有一逗号)

,{$tablepre}memberfields mf


找到:

  1. $discuz_userss = $discuz_user;
  2. $discuz_user = addslashes($discuz_user);


替换成:(危险修改,非专业需要请不要改)

  1. if(!empty($nickname)){
  2. $discuz_userss = $nickname;
  3. $discuz_user = addslashes($nickname);
  4. }else{
  5. $discuz_userss = $discuz_user;
  6. $discuz_user = addslashes($discuz_user);
  7. }


打开header.htm
找到:

  1. $discuz_userss


替换成:

  1. <!--{if empty($nickname)}-->$discuz_userss<!--{else}-->$nickname<!--{/if}-->


推荐(0)
收藏

Discuz7.0礼品兑换插件安装使用感受及改进建议

2009-09-09 10:29 pm

快速查错请参考:

1.utf-8论坛安装时乱码,用浏览器自带的查看字符编码调成utf-8就可以。

2.不能申请礼品,添加礼品时须填写库存数量,否则看不到申请礼品时需填写的各项内容。

3.设置其他帐号为礼品管理员要填写用户ID数字,而不是用户名。

4.如果错误地将礼品管理员设置成用户名,会出现查看权限管理权限倒置的情况,比如未登录用户可管理插件,请找到最初的forumdata/cache里的cache_gift.php,用原始文件覆盖(下载稍后补上),覆盖后如果页面走样需要重新安装插件。注意:重新安装插件会导致礼品清空。

以上是我安装使用过程中遇到的问题,以下是安装过程流水帐,最后会有几句改进建议:

因为最近想给我的济南装修论坛搞点儿积分换礼品的活动,凑巧看到别的论坛挂上了新插件叫“礼品兑换”,搜了一下还真有,就是这位李魁设计的礼品兑换插件,上个月底刚刚更新过,太好了,麻溜儿用起来。

插件做得挺不错的,下载迅速安装简单,但是安装过程中有一点儿小瑕疵。我的论坛编码是utf-8的,所以下载的时候特别注意下载utf-8专用的,可是安装页面上还是显示乱码,用Firefox调整了查看字符编码的方式之后倒是能正常显示。估计是页面转成utf-8的时候页面属性默认的还是GBK,造成了这种情况。

装的过程有一步是填写礼品管理员的IDS,我填上了管理员的用户名。

装好之后先添加个礼品试一试,随便填了个名字就提交了,换个帐号申请一下,点击申请之后没反应住窝网 - 济南装修网站|济南装修论坛|装修济南|济南装饰装修,出现以下错误提示:

Warning: Division by zero in /www/users/51zhuwo.com/gift.php on line 204

试了半天发现是因为没有填写库存数量,填写之后就会出现正常的填写姓名地址等表单。

本来到这儿就没事儿,但我看到插件说明里提到说可以用多个帐号管理,就想加几个管理员试试,一试不要紧试了之后坏了,管理员帐号看不到管理页面,未登录用户倒能看到了。

我立马慌了,看到李魁blog上有本人联系方式,赶紧加了qq咨询,没想到回复得相当快(真是好人哪!),说是要修改cache里cache_gift.php文件,但没来得及告诉我怎么改,我就一时手贱想说cache出问题那就清cache好了,把cache文件夹删光光,好么,这下插件页面都打不开了...说插件没安装,想重新安装也打不开install页面。还好李魁又传了一个cache_gift给我(太感人了!),覆盖上,页面还有点儿怪,上面多出一行背景色的条子,重新装了一遍插件,恢复正常鸟~~真happy~

顺手提一些改进建议吧:

1. 安装文件编码规范化

2. 添加礼品时库存数量设为必填

3. 礼品管理员添加的框子旁边标明填的是ID数字,不是用户名

4. 提醒用户重新安装插件将导致礼品清空

5. 不知道礼品数据是否可以被论坛默认备份所备份,如果不可以的话提醒用户自行备份礼品介绍等数据。

6. 删除礼品时没有提醒,如果误点击礼品将被直接删除,建议删除时弹出确定窗口。

7. discuz论坛在需要安全更新时可能会要求站长清空cache文件夹,提醒使用了礼品兑换插件的站长,在清空前备份cache_gift.php文件,以便覆盖恢复

暂时想到这么多,以后有再补。

推荐(0)
收藏

Google Analytics排除内部点击(cookie)的应用以及如何验证内部点击已被排除

2009-07-08 6:10 pm

本来一直使用默认报表的,不过某天产生了这样的疑问,是不是我们的装修讨论版块首页,除了我们内部几个人肉发帖机就没人访问了?怎么能知道我们是不是在瞎忙活呢?和同事争论半小时无果,只能数据说话。
要看有用的数据,首先得排除一下内部点击,至于如何做Google肯定少不了贴心的帮助了,也就是这一条:如何从报告中排除内部点击量?

做法包括过滤IP和过滤cookie两种,用adsl账号上网的人想要过滤IP是不现实的,那就过滤cookie,做法如下
“1. 在您的域名上创建包含以下代码的新页面:
<body onLoad="javascript:pageTracker._setVar('test_value');">
(请注意,该代码与网站每一页的 Google Analytics(分析)跟踪代码放在一起。)”
对于我这种对代码一窍不通的人,为这一行代码要放哪儿还得死几个脑细胞TAT,哆嗦了一阵儿以后决定塞在两端script了事。于是创建全文如下的页面起一个绝对不会有人想到的名字丢到服务器上:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>

<body>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<body onLoad="javascript:pageTracker._setVar('test_value');">
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-xxxxxxx-x");
pageTracker._trackPageview();
} catch(err) {}
</script>
</body>

“2. 要设置 Cookie,请从您想在报告中排除的所有计算机上访问新创建的页面。”
让人肉发帖机们每一个打开一次这个页面
“3. 创建"排除"过滤器以便删除来自具有此 Cookie 的访问者的数据。 使用下列设置创建过滤器:
过滤器类型: 自定义过滤器 > 排除
过滤字段: 用户定义
过滤模式: test_value
区分大小写: 否”
照葫芦画瓢就好。

那怎么验证过滤器已经开始运作了呢?Google帮助里没说,我就用我自己的土办法试验了。鉴于用我们这种济南装修论坛的用户多是土炮,用safari访问的可能性无限接近于0,我只要用safari访问一下网站再看看当天的数据里浏览器类型就可以了,没有safari~大功告成~~

另外附送一下关于历史数据为什么没有改变的解释(当然也是google官方帮助里的啦):
在配置文件中创建过滤器后,它立即就被应用于进入帐户的新数据。新过滤器不会影响历史数据,我们也无法通过它重新处理原有数据。

推荐(0)
收藏

discuz无法上传大尺寸(宽度过大)图片的一种解释

2009-05-22 1:18 am

用discuz做论坛经常会遇上点儿这样那样的问题,今天的问题是无法上传大尺寸图片,不是说大小超过xxM之类,而是宽度超过某个像素值的就不能上传了,测试了一下我的住窝(济南装修论坛)的能上传的最大尺寸在800px左右,超过这个尺寸就会出现这样的出错信息:

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 6400 bytes) in /www/users/51zhuwo.com/include/image.class.php on line 211

怎么个事儿呢,我发现每次解决问题之前都要绕好大一圈。这次就先搜的是不能上传大尺寸图片,搞出一堆设置附件尺寸的解释,划叉。然后搜过宽图片的上传问题,解释是要修改主体表格宽度和阅读区域宽度,也巧了,我的主体表格宽度刚好是800px,加大到1000,无效。直接搜这句错误信息吧,没结果,后来鬼使神差地搜了8388608 bytes这个关键词,好咧,出来结果咧,内存太小,只有8M的意思。又看了看image.class.php这个文件的第211行左右,好像加跟水印位置有关系。继续搜水印,嗯,这下有同样问题的同志就多起来了,确认问题所在了:
加水印调用内存超过8M,服务器运作不能。

找空间供应商提意见要求加内存,人家很客气地说服务器是共用的,每一家最多就8M。嗯,所以说报价单上说的1G内存是n家共用的,你爷爷的,卖货的时候怎么不说清楚呢。人穷志短,麻溜儿跟论坛上发一公告,请各位同学别上传超过800px的图片哟,打完收工。

推荐(0)
收藏
得到OpenID
使用OpenID提供商
35OpenID 35OpenID MyOpenID MyOpenID Flickr Flickr
Google Google Yahoo Yahoo! AOL AOL
Blogger Blogger LiveJournal LiveJournal Verisign Verisign
ClaimID ClaimID Technorati Technorati Vidoop Vidoop
OpenID OpenID 帮助
您还没有登录,请登录后继续操作。
提示:您必需打开Cookie才能使用本系统
请输入您的 OpenID OpenID 登录:
例如:http://yourname.openid.35.com
close