自动识别域名的整合配置文件
三方整合接口配置的时候,最容易出现问题就是各个程序的配置文件的修改了,很多网友都是在这上面出错。比如下面这几句:
Const API_Urls = "博客@@http://Localhost/oblog4/api/API_Response.asp"
Const DvApi_Urls = http://localhost/cms/API/API_Response.asp
Const strTargetUrls = "http://localhost/cms/API/API_Response.asp"
整合因为使用了xmlhttp,使得使用相对路径而不使用完整URL不可行了。但是这样一来,也限制了整合的域名。
随着双线空间、镜像站点的越来越广泛,原来的整合配置已经不能再满足需要。有网友提出这个问题,我当时给了一个方案,就是动态获取用户访问的域名,然后用到整合配置中去。当时没有做测试,也没有深入。
今天在动易起航教师里,又遇到网友提出这个问题。我也正好想测试和解决一下这个问题,就在本机进行了简单的测试。结果整合成功。下面讲解一下:
首先,原理就是把原来的配置文件中的接口路径定义由常量定义改为变量,这样支持在变量赋值中使用另外的变量。然后,我们新建一个变量用来存储ServerVariables里读取的Server_Name变量。再把这个变量赋值到接口路径定义中去。也就是下面用红色标记出来的部分:
Const API_Urls = "博客@@http://www.domain.com/oblog4/api/API_Response.asp"
Const DvApi_Urls = "http://www.domain.com/cms/API/API_Response.asp"
Const strTargetUrls = "http://www.domain.com/cms/API/API_Response.asp"
这部分就是要动态获取的部分。
以动易的为例,原来是
Const API_Urls = ……..
改成
Dim API_Urls
API_Urls = ……..
我们首先定义一个存储用户访问的域名的变量:
Dim strSiteRoot
然后从ServerVariables集合众获取该变量:
strSiteRoot = Request.ServerVariables("SERVER_NAME")
最后把变量用到接口路径定义中去:
Dim API_Urls
API_Urls = "论坛@@http://" & strSiteRoot & "/bbs/dv_dpo.asp"
其它两个程序的接口配置,也按同样原理做即可。
下面是修改好的三方整合配置文件供参考:

本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名小李刀刀(包含链接)。如您有任何疑问或者授权方面的协商,请给我发送邮件。
点击下载此文件
[quote=开心]小李刀刀你好!想请教你但关于整合的问题,我现在用的是恒浪的系统(HowaveV4.05+创力3.1+DVbbs7.1sp1+Oblog4.02_0104)里面基本都是好好的,可是我原来有个书店的程序我想也整合进去,但是这个没有接口文件,我现在就怎么去写这个接口文件,由于是第一次做这个有点不明白!
能不麻烦你告诉我怎么写这个接口的文件,或者以一个其他的接口文件做个解释告诉我应该怎么去些,然后我也可以去研究一下!麻烦你了谢谢! [/quote]
恒浪的系统你是不是应该去找恒浪咨询一下?[f67]
拿了东西就走人,谢谢了~~HOHO~~~顶~~~~
小李刀刀你好!想请教你但关于整合的问题,我现在用的是恒浪的系统(HowaveV4.05+创力3.1+DVbbs7.1sp1+Oblog4.02_0104)里面基本都是好好的,可是我原来有个书店的程序我想也整合进去,但是这个没有接口文件,我现在就怎么去写这个接口文件,由于是第一次做这个有点不明白!
能不麻烦你告诉我怎么写这个接口的文件,或者以一个其他的接口文件做个解释告诉我应该怎么去些,然后我也可以去研究一下!麻烦你了谢谢!
[quote=56mr][ 注意:刚才动网的复制错误,现在更换一下 ]
'DvApi_Enable 是否打开系统整合(默认闭关: False ,打开:True )
Const DvApi_Enable = True
'DvApi_SysKey 设置系统密钥 (系统整合,必须保证与其它系统设置的密钥一致。)
Const DvApi_SysKey = "56mrw"
'DvApi_Urls :整合的其它程序的接口文件路径。多个程序接口之间用半角"|"分隔。
'例如:DvApi_Urls = "http://你的网站地址/动易安装目录/API/API_Response.asp|http://你的网站地址/博客安装目录/API/oblogresponse.asp"
Const DvApi_Urls = "http://www.56mr.com/API/API_Response.asp|http://www.56mr.com/blog/API/oblogresponse.asp"
%>[/quote]
Oblog的接口地址已经改成 /API/API_Response.asp
[ 注意:刚才动网的复制错误,现在更换一下 ]
'DvApi_Enable 是否打开系统整合(默认闭关: False ,打开:True )
Const DvApi_Enable = True
'DvApi_SysKey 设置系统密钥 (系统整合,必须保证与其它系统设置的密钥一致。)
Const DvApi_SysKey = "56mrw"
'DvApi_Urls :整合的其它程序的接口文件路径。多个程序接口之间用半角"|"分隔。
'例如:DvApi_Urls = "http://你的网站地址/动易安装目录/API/API_Response.asp|http://你的网站地址/博客安装目录/API/oblogresponse.asp"
Const DvApi_Urls = "http://www.56mr.com/API/API_Response.asp|http://www.56mr.com/blog/API/oblogresponse.asp"
%>
[ 博客整合文件设置 ]
'整合通用接口参数
Const API_Enable = True '是否整合,如果整合请设为True,否则为False。
Const oblog_Key = "56mrw" '网站key,必须与整合端的key一致。
Const strTargetUrls = "http://www.56mr.com/bbs/dv_dpo.asp|http://www.56mr.com/api/api_response.asp" '要整合的程序的完整URL(以“http://”开头,以接口文件的文件名结尾),如果有多个系统要整合,每个URL间用“|”分隔
Dim aUrls
aUrls=Split(strTargetUrls,"|")
%>
然后又按感觉的,在'说明:
'打开conn.asp在的后面加上:
'
最后下载了你刀刀的更新同步数据文件:www.56mr.com/UserSynchro/index.htm,提示更新成功
按照这些要求整了N遍,还是说“错误,服务器无响应“`”
请问刀刀,指出一下错在哪里,实在是菜鸟一只,俺这头都大了““““““
还是不懂你这个代码怎么搞,搞成这样也整合不了“`
我用的是你们之前发布的那种整合方式,下载最新版本SP5,DV70P1,BLOG4,修改整合文件““
比如:
[ 动易整合文件设置 ]
Const API_Enable = True
Const API_Key = "56mrw"
Const API_Urls = "论坛@@http://bbs/dv_dpo.asp|博客@@http://blog/API/oblogresponse.asp"
Const API_Timeout = 10000
[ 动网整合文件设置 ]
'整合通用接口参数
Const API_Enable = True '是否整合,如果整合请设为True,否则为False。
Const oblog_Key = "56mrw" '网站key,必须与整合端的key一致。
Const strTargetUrls = "http://bbs.56mr.com/bbs/dv_dpo.asp|http://www.56mr.com/api/api_response.asp" '要整合的程序的完整URL(以“http://”开头,以接口文件的文件名结尾),如果有多个系统要整合,每个URL间用“|”分隔
Dim aUrls
aUrls=Split(strTargetUrls,"|")
%>
[quote=百佳] 引用内容
引用来自 yuzhilei
如何修改动易2006的Cookies名:
我在自己的电脑上安装了2个动易程序,分别装在下面的2个文件夹。wto为主站的一个栏目(类似于外部栏目)
C:Inetpubwwwroot
C:Inetpubwwwrootwto
但是每次访问http://localhost/wto后再访问http://localhost/时,IE还是显示的wto的内容。
这和Cookies有关吗?怎么把2个网站的Cookies分开?
我在动易BBS上给你发过站内短信,帮帮,谢谢。
同一个域名下应该是只能安装一个动易系统,安装多个会出现配置混乱的情况。
难道就没有办法解决马?[/quote]
需要创建虚拟目录,或者两个虚拟主机,才能在同一主机安装两个动易系统。
[quote] 引用来自 yuzhilei
如何修改动易2006的Cookies名:
我在自己的电脑上安装了2个动易程序,分别装在下面的2个文件夹。wto为主站的一个栏目(类似于外部栏目)
C:Inetpubwwwroot
C:Inetpubwwwrootwto
但是每次访问http://localhost/wto后再访问http://localhost/时,IE还是显示的wto的内容。
这和Cookies有关吗?怎么把2个网站的Cookies分开?
我在动易BBS上给你发过站内短信,帮帮,谢谢。
同一个域名下应该是只能安装一个动易系统,安装多个会出现配置混乱的情况。[/quote]
难道就没有办法解决马?
就是两个都在局域网内,服务器有两个网卡,一个网卡的地址是:192.168.104.8,一个网卡的地址是10.102.127.6。分别对两个网段的用户提供服务。
还有我想问一下,如果我的服务器地址是局域网地址,通过映射到实地址上,一旦打开系统整合后通过互联网的实地址就不能够登陆了,报HTTP 500 – 内部服务器错误 。这个有什么办法解决吗?
我的服务器是多网段的,用你讲的方法将动易和动网整合,整合的过程中也没有出现什么错误提示。整合后从动网登陆,动易显示用户正常登陆,注销也一样。但是从动易登陆,动网显示用户没有登陆。这个情况是什么原因造成的 啊,怎么解决。
[color=red][b]小李刀刀[/b]:
你的URL是多少?另外,我们这里是针对多域名,你说的多网段是什么意思?你的网站直接用IP访问?
[/color]
请问可不可以只整合动网和动易呀??
就是没有装滴系统OBLOG~!~!
[color=red][b]小李刀刀[/b]:
可以。
[/color]
[quote=yuzhilei]如何修改动易2006的Cookies名:
我在自己的电脑上安装了2个动易程序,分别装在下面的2个文件夹。wto为主站的一个栏目(类似于外部栏目)
C:Inetpubwwwroot
C:Inetpubwwwrootwto
但是每次访问http://localhost/wto后再访问http://localhost/时,IE还是显示的wto的内容。
这和Cookies有关吗?怎么把2个网站的Cookies分开?
我在动易BBS上给你发过站内短信,帮帮,谢谢。[/quote]
同一个域名下应该是只能安装一个动易系统,安装多个会出现配置混乱的情况。
如何修改动易2006的Cookies名:
我在自己的电脑上安装了2个动易程序,分别装在下面的2个文件夹。wto为主站的一个栏目(类似于外部栏目)
C:Inetpubwwwroot
C:Inetpubwwwrootwto
但是每次访问http://localhost/wto后再访问http://localhost/时,IE还是显示的wto的内容。
这和Cookies有关吗?怎么把2个网站的Cookies分开?
我在动易BBS上给你发过站内短信,帮帮,谢谢。
真佩服你,刀刀。