返回列表 发帖
查看: 1090|回复: 6

[求助] 静态文件CDN问题。

16

主题

66

回帖

92

积分

渐入佳境

贡献
0 点
金币
5 个
发表于 2023-2-11 10:43:48 | 显示全部楼层 |阅读模式
在config_global.php配置成另外的域名:

  1. $_config['output']['staticurl']                 = 'https://image.oxxx.com/static/';        // 站点静态文件路径,“/”结尾
复制代码


1、前端帖子页面有些地方会多一个/杠,比如变成这样:导致出现404。
  1. https://image.oxxx.com/static//image/magic/checkonline.small.gif
复制代码


2、页面中有有些地方替换有问题:
  1. <meta name="msapplication-task" content="name=首页;action-uri=https://www.oxxx.com/portal.php;icon-uri=https://www.oxxx.com/https://image.oxxx.com/static/image/common/portal.ico" /><meta name="msapplication-task" content="name=论坛;action-uri=https://www.oxxx.com/forum.php;icon-uri=https://www.oxxx.com/https://image.oxxx.com/static/image/common/bbs.ico" />
  2. <meta name="msapplication-task" content="name=家园;action-uri=https://www.oxxx.com/home.php;icon-uri=https://www.oxxx.com/https://image.oxxx.com/static/image/common/home.ico" />
复制代码


3、后台有地方没有替换:比如common.js
  1. <meta content="Comsenz Inc." name="Copyright" />
  2. <link rel="stylesheet"  type="text/css" media="all" />
  3. <link rel="stylesheet"  type="text/css" media="all" />
  4. <script src="static/js/common.js?q6B" type="text/javascript"></script>
  5. </head>
  6. <body>
复制代码
我知道答案 回答被采纳将会获得1 贡献 + 1 金币 已有6人回答
回复

使用道具 举报

2

主题

1412

回帖

2043

积分

应用开发者

啦啦啦~

贡献
55 点
金币
320 个
发表于 2023-2-11 13:39:01 | 显示全部楼层
1. 自查 CDN ,理论来说多一个 / 不会导致 404 。
2. 应该是程序问题了。
3. 后台写死从默认路径加载。
老周博客
本人不在任何渠道提供任何付费技术支持服务, 谨防上当受骗.
回复 支持 反对

使用道具 举报

16

主题

66

回帖

92

积分

渐入佳境

贡献
0 点
金币
5 个
 楼主| 发表于 2023-2-12 13:40:11 | 显示全部楼层
本帖最后由 stonys 于 2023-2-12 13:46 编辑
老周部落 发表于 2023-2-11 13:39
1. 自查 CDN ,理论来说多一个 / 不会导致 404 。
2. 应该是程序问题了。
3. 后台写死从默认路径加载。  ...

Ucenter地址为:https://uc.oxxx.com

QQ截图20230212133052.png

头像分离存储,并绑定域名image.oxxx.com,并在config_ucenter.php配置:
  1. define('UC_AVTURL', 'https://image.oxxx.com/data/avatar');   // 头像服务的基础路径,为空则为默认值,可以设置为独立域名/路径(结尾不能有/),配合CDN使用更佳。如涉及 avatar.php 需在其中再配置一次。
复制代码
PC端正常,但默认模板的手机端头像异常。
手机端的取的头像地址不对:
  1. https://image.oxxx.com/data/avatar/avatar.php?uid=5787&size=middle
复制代码
如果是动态应该是https://uc.oxxx.com/data/avatar/avatar.php?uid=5787&size=middle
设置的静态方式调用,怎么手机端还是动态方式调用呢?而且调用地址还不正确。


查到手机模板调用头像是这样的:

  1. Discuz_X3.5_SC_UTF8_20230210\upload\template\default\touch\forum\viewthread_node.htm:
  2.     3          <!--{eval $needhiddenreply = ($hiddenreplies && $_G['uid'] != $post['authorid'] && $_G['uid'] != $_G['forum_thread']['authorid'] && !$post['first'] && !$_G['forum']['ismoderator']);}-->
  3.     4     <div class="plc cl">
  4.     5:            <span class="avatar"><img src="<!--{avatar($post['authorid'], 'small', true)}-->" style="width:32px;height:32px;" /></span>
  5.     6         <div class="pi">
  6.     7                     <ul class="authi">
复制代码
好像是调用这个函数:
  1. Discuz_X3.5_SC_UTF8_20230210\upload\source\function\function_core.php:
  2.   450  }
  3.   451  
  4.   452: function avatar($uid, $size = 'middle', $returnsrc = 0, $real = FALSE, $static = FALSE, $ucenterurl = '', $class = '', $extra = '', $random = 0) {
  5.   453          global $_G;
  6.   454          if(!empty($_G['setting']['plugins']['func'][HOOKTYPE]['avatar']) && !defined('IN_ADMINCP')) {
复制代码


请教大神,如果要将手机端的头像地址改正确,需要怎么修改?

回复 支持 反对

使用道具 举报

2

主题

1412

回帖

2043

积分

应用开发者

啦啦啦~

贡献
55 点
金币
320 个
发表于 2023-2-12 14:00:02 | 显示全部楼层
stonys 发表于 2023-2-12 13:40
Ucenter地址为:https://uc.oxxx.com

@专家 辛苦看下能否这么用?
老周博客
本人不在任何渠道提供任何付费技术支持服务, 谨防上当受骗.
回复 支持 反对

使用道具 举报

12

主题

1608

回帖

2717

积分

Giter

贡献
143 点
金币
353 个
发表于 2023-2-12 14:14:47 | 显示全部楼层
老周部落 发表于 2023-2-12 14:00
@专家 辛苦看下能否这么用?

它这个组合是相对比较难办的一种,但是也可以解决。
回复 支持 反对

使用道具 举报

12

主题

1608

回帖

2717

积分

Giter

贡献
143 点
金币
353 个
发表于 2023-2-12 14:26:14 | 显示全部楼层
stonys 发表于 2023-2-12 13:40
Ucenter地址为:https://uc.oxxx.com

想实现完全的头像分离的话,最好还是得走独立模式,此模式下才能彻底不经过avatar.php(UC模式因为是独立头像系统,Discuz无法控制,部分场景还是得走一次php)https://www.dismall.com/thread-14866-1-1.html

当然你这个选择倒也是可以用的,只是配置要稍微复杂一些。
一般来说,大部分想要走独立头像域名的站点的实际需求往往是不想让用户直接访问到uc server(否则直接给uc一个独立域名不就行了?),因此我们不推荐使用 域名/data/avatar 这种形式,而是建议直接将域名指向data/avatar文件夹,这样就避免了用户访问avatar文件夹以外的东西。
然后:avatar.php是需要保留的,因为非独立模式下暂时做不到纯静态访问。复制一份放在对应uc的data/avatar下面即可。
avatar.php的里面需要做对应的修改,它是一个独立的文件,不走任何配置。
找到这一行并进行修改即可。
  1. define('UC_AVTURL', '');
复制代码
回复 支持 反对

使用道具 举报

16

主题

66

回帖

92

积分

渐入佳境

贡献
0 点
金币
5 个
 楼主| 发表于 2023-2-12 16:27:20 | 显示全部楼层
专家 发表于 2023-2-12 14:26
想实现完全的头像分离的话,最好还是得走独立模式,此模式下才能彻底不经过avatar.php(UC模式因为是独立 ...

非常感谢您的解答!
按照建议,将UC模式改为了独立模式,问题解决,谢谢。
回复 支持 反对

使用道具 举报

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

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2024-5-17 15:21 , Processed in 0.046618 second(s), 9 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2024 Discuz! Team.

关灯 在本版发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表