dedeCMS訪問用戶博客空間有時出現“你訪問的用戶可能已經被刪除”,但是用戶通過自己的登陸界面進入后,點擊“我的空間”卻能正常訪問。
仔細注意一下登陸成功后IE狀態欄的空間連接地址,在看一下首頁調用會員空間的連接地址,這就能看出問題的所在了,第一個連接是編碼為UTF8的,而第二個連接則直接是以中文方式發送編碼的。
由此我們可以為這個地址加上轉碼函數即可。在dede程序內部有UTF-8轉碼函數urlencode。所以我們將參數編碼即可。
接下來我們修改include/taglib/memberlist.lib.php這個文件
這句話里的第33行
$row['spaceurl'] = $GLOBALS['cfg_basehost'].'/member/index.php?uid='.$row['userid'];
改為:
$row['spaceurl'] = $GLOBALS['cfg_basehost'].'/member/index.php?uid='.urlencode($row['userid']);
這句話$row['userid']加上urlencode函數后。
經過361源碼檢驗測試,正確。
新聞熱點
疑難解答