首先,检查下ucenter的通信是否正常,若不正常先将通信调试正常。
discuz!x2 名片显示“内部错误,无法显示此内容”的原因主要是“用户个人主页 {user}, {value} space-{user}-{value}.html ” 这项勾选后, 原来的 Rewrite 规则里会把 home.php?mod=space&{user}={value} 变成 space-{user}-{value}.html,康盛的comm.js 里面的名片相关的函数,它是用for循环遍历页面的链接,来得到用户对象,然后再分析链接得到用户的ID然后再生成显示名片的代码。。。。。此问题常见于windows主机下IIS环境中的站点,linux下的apache站点还没发现此错误。
1、如果嫌麻烦,直接在discuz!X2后台的SEO设置取消这项伪静态功能就可以了,并不影响整站的功能和使用,目前好像官方也没有启用该项。
2、用linux主机使用apache的伪静态规则文件,经测试可以正常显示。我司WIN主机的Rewrite.dll也支持apache规则,可以直接使用,规则如下:
RegistrationName=Longshui Chen
RegistrationCode=7Z3NU-7MAP5-JZDPH-PR9GK
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
## 修改以下语句中的 /discuz 为你的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /
RewriteBase /
# Rewrite 系统规则请勿修改
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^topic-(.+)\.html$ portal.php?mod=topic&topic=$1&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ portal.php?mod=view&aid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^group-([0-9]+)-([0-9]+)\.html$ forum.php?mod=group&fid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^space-(username|uid)-(.+)\.html$ home.php?mod=space&$1=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^blog-([0-9]+)-([0-9]+)\.html$ home.php?mod=space&uid=$1&do=blog&id=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^archiver/(fid|tid)-([0-9]+)\.html$ archiver/index.php?action=$1&value=$2&%1
直接复制以上规则文件,替换原有httpd.conf内规则即可。