巧用UC解决DEDECMS二级域名跨域问题的方法

  举例:

  www.123.com

  要求:

  news.123.com获得www.123.com得登陆状态 以及评论/DIGG等更多交互信息

  不管你是否需要整合DZ论坛等其它产品 你都可以装一个UC来做通讯中转

  操做:

  www.123.com为DEDE5.3 安装UC接口

  生成news文件夹 绑定news.123.com

  在UC后台添加应用 手动添加 news.123.com

  填写通讯密钥

  保存--------------显示通讯失败

  拷贝www.123.com目录下相应目录到news.123.com

  分别为

  api

  data

  include

  uc_client

  实际上只需要这些文件夹得部分文件即可

  另外需要修改几个主要文件得参数

  uc_clientdatacacheapps.php 必须要在UC添加应用后重新从5.3主目录拷贝 查看下 里面写得是所有应用列表 要保持一致

  例如 添加了news 然后添加 photo子域名 需要重新拷贝一次

  include/common.inc.php 最下方 修改为当前二级域名得 通讯密钥 以及 APP_ID 就是UC里得序号

  data/config.cache.inc.php 修改域名为二级域名地址

  拷贝这些文件到 news 得根目录

  到UC里测试 通讯成功

  既然通讯成功了 具体怎么应用就看你得了

  这里补充下:例如 评论 需要拷贝评论所需得 AJAX 等相关文件到 news下 同样道理

  我们只是通讯 而没有实际上跨域 而文件调用在域名上有局限,但是文件本身只知道访问数据,调用数据

  所以无论在哪里 只要文件关联完整 都可以使用

  也就是让文件从NEWS 访问主数据库 来达到通信得目得

  登陆状态 评论 DIGG 都可以通讯了

  可以看出 NEWS 文件本身没有程序 只是个目录 也就是个域名

  我们只是用主域名得文件伪装来达成通信成功

  同样道理 无论任何东西 都可以这样来做 但是具体要看个人操做

  如果没有扩展操做 你能获得得只是主域名得登陆状态等通用信息

  不过相信此应用会有更强大得地方

posted on 2010-01-31 21:30  中国青年创业网  阅读(320)  评论(0编辑  收藏  举报

导航