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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已解决] UCHome在论坛展示的feed地址错误问题修改

[复制链接]
057499 发表于 2008-12-15 18:10:41 | 显示全部楼层
回复

使用道具 举报

缘V聖戰 发表于 2008-12-15 21:09:20 | 显示全部楼层
https://discuz.dismall.com/viewth ... p;extra=&page=1

解决了 这个问题请看这个帖子
回复

使用道具 举报

玉面罗刹 发表于 2008-12-16 10:11:07 | 显示全部楼层
学习了 ......
回复

使用道具 举报

yooyooh 发表于 2008-12-16 10:53:12 | 显示全部楼层
查找可费神啊,这个解决标题不对路。
回复

使用道具 举报

iqye 发表于 2008-12-16 11:25:21 | 显示全部楼层
回复

使用道具 举报

集思网络 发表于 2008-12-16 11:39:01 | 显示全部楼层
我怎么第一行代码都没找到 啊?
缘V聖戰 发表于 2008-12-15 10:17


直接替换嘛!!
回复

使用道具 举报

humble 发表于 2008-12-16 11:50:57 | 显示全部楼层
修改api目录下的discuz.php文件
1.找到$siteurl = substr(getsiteurl(), 0, -4);
复制代码

你这个是哪里的文件的代码?  
api目录下的discuz.php文件 没这个代码
回复

使用道具 举报

xjb99237 发表于 2008-12-16 13:29:15 | 显示全部楼层
?php
/*
        [UCenter Home] (C) 2007-2008 Comsenz Inc.
        $Id: discuz.php 10683 2008-12-12 10:10:38Z zhengqingpeng $
*/

include_once('../common.php');

$ac = isset($_GET['ac']) ? trim($_GET['ac']) : '';

$uri = $_SERVER['REQUEST_URI']?$_SERVER['REQUEST_URI']$_SERVER['PHP_SELF']?$_SERVER['PHP_SELF']_SERVER['SCRIPT_NAME']);
$siteurl = 'http://'.$_SERVER['HTTP_HOST'].substr($uri, 0, strrpos($uri, '/api')+1);

if(!in_array($ac, array('doing', 'album', 'space', 'feed'))) {
        $ac = 'js';
}

include_once(S_ROOT.'./api/discuz/'.$ac.'.php');

function makeurl($str) {
        global $siteurl;
       
        $str = stripslashes(preg_replace("/(\r\n|\n|\r)/", '', $str));
        $str = preg_replace("/src\=\"(?!http\:\/\/)(.+?)\"/i", ' src="'.$siteurl.'\\1"', $str);
        return addslashes(preg_replace("/href\=\"(?!http\:\/\/)(.+?)\"/i", ' target="_blank" href="'.$siteurl.'\\1"', $str));
}

function getdotstring ($string, $vartype, $allownull=false, $varscope=array(), $sqlmode=1, $unique=true) {

        if(is_array($string)) {
                $stringarr = $string;
        } else {
                if(substr($string, 0, 1) == '$') {
                        return $string;
                }
                $string = str_replace(',', ',', $string);
                $string = str_replace(' ', ',', $string);
                $stringarr = explode(',', $string);
        }

        $newarr = array();
        foreach ($stringarr as $value) {
                $value = trim($value);
                if($vartype == 'int') {
                        $value = intval($value);
                }
                if(!empty($varscope)) {
                        if(in_array($value, $varscope)) {
                                $newarr[] = $value;
                        }
                } else {
                        if($allownull) {
                                $newarr[] = $value;
                        } else {
                                if(!empty($value)) $newarr[] = $value;
                        }
                }
        }

        if($unique) $newarr = sarray_unique($newarr);
        if($vartype == 'int') {
                $string = implode(',', $newarr);
        } else {
                if($sqlmode) {
                        $string = '\''.implode('\',\'', $newarr).'\'';
                } else {
                        $string = implode(',', $newarr);
                }
        }
        return $string;
}

//将数组中相同的值去掉,同时将后面的键名也忽略掉
function sarray_unique($array) {
        $newarray = array();
        if(!empty($array) && is_array($array)) {
                $array = array_unique($array);
                foreach ($array as $value) {
                        $newarray[] = $value;
                }
        }
        return $newarray;
}
?>
我也已经是修改过了,但问题还是存在,帮忙看吓,
论坛最新空间更新那,,
地址:http://www.fjhrm.com/bbs/
显示地址:http://www.fjhrm.com/home/api/space.php?uid=1
回复

使用道具 举报

xjb99237 发表于 2008-12-16 13:38:21 | 显示全部楼层
汗,找出来了,这句不一样,,
$siteurl = 'http://'.$_SERVER['HTTP_HOST'].substr($uri, 0, strrpos($uri, '/api')+1);
谢谢管理员细心指点
回复

使用道具 举报

terence0909 发表于 2008-12-18 10:01:25 | 显示全部楼层
我用的是最版版7.0 discuz.php文件内容与楼主提供的不符 自己核对了下代码 按照楼主三步走的步骤检查了一下 已成功解决问题

1. 楼主提供的第一段代码在discuz.pho中已存在 但尾段稍有不符
  1. $uri = $_SERVER['REQUEST_URI']?$_SERVER['REQUEST_URI']:($_SERVER['PHP_SELF']?$_SERVER['PHP_SELF']:$_SERVER['SCRIPT_NAME']);
  2. $siteurl = 'http://'.$_SERVER['HTTP_HOST'].substr($uri, 0, strrpos($uri, '/api')+1);
复制代码

注意最后一行 去掉api 将+1改为-3 / 我的网站所存在的问题就是个人资料页空间动态链接地址中多了一个api 到时访问出错 看来问题就在于此

2. 楼主提供的第二段代码在文件中已全部存在 无需更改
3. 按楼主说明 将代码添加
更新缓存 一些恢复正常
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 16:41 , Processed in 0.031209 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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