这里记录自己如何绑定二级域名的。
想实现插件 xxx.com/plugin.php?id=threed_pay 绑定到e.xxx.com.
也说是e.xxx.com可以直接访问插件。
实现步骤如下:
1.在域名商和空间商进行e.xxx.com解析。
具体操作百度很多介绍!!
绑定成功效果是:通过e.xxx.com可以跳转到xxx.com;
2.修改DISCUZ两文件:修改方法参考网络的兄弟2014看发布的帖子。
我当前DISCUZ版本为DZ3.4,修改前做好两文件备份,不时之需!
具体修改如下:
1)网站根目录index.php下载,打开,CTRL+F查找代码:
$_ENV['defaultapp'] = array('portal.php' => 'portal', 'forum.php' => 'forum', 'group.php' => 'group', 'home.php' => 'home');
改为:
$_ENV['defaultapp'] = array('portal.php' => 'portal', 'forum.php' => 'forum', 'group.php' => 'group', 'home.php' => 'home', 'plugin.php' => 'plugin');
再查找代码:
if(!empty($_ENV['domain']['app']) && is_array($_ENV['domain']['app'])&& in_array($_SERVER['HTTP_HOST'], $_ENV['domain']['app'])) {
改为:
if(!empty($_ENV['domain']['app']) && is_array($_ENV['domain']['app'])) {
最后查找代码:
$_ENV['curapp'] = array_search($_SERVER['HTTP_HOST'], $_ENV['domain']['app']);
修改为:
if($_SERVER['HTTP_HOST']=='e.xxx.com'){//自己插件要绑定的域名
$_ENV['curapp']='plugin';
}
2)网站根目录plugin.php.php下载,打开,CTRL+F查找代码:
if(!empty($_GET['id'])) {
list($identifier, $module) = explode(':', $_GET['id']);
$module = $module !== NULL ? $module : $identifier;
} else {
showmessage('plugin_nonexistence');
}
修改为:
if(!empty($_GET['id'])) {
list($identifier, $module) = explode(':', $_GET['id']);
$module = $module !== NULL ? $module : $identifier;
} else {
if($_SERVER['HTTP_HOST']=='e.gkbc8.com'){//自己域名
$_GET['id']='it618_video';//插件后戳名
list($identifier, $module) = explode(':', $_GET['id']);
$module = $module !== NULL ? $module : $identifier;
}
else {
showmessage('plugin_nonexistence');}
}
上传修改后的两文件,清空浏览器缓存。
或用另一浏览器测试效果;
其实本人也非此专业。花钱能解决的事,基本靠买:
下面是买的<插件绑定二级域名>插件,用在了DZ3.4上面;
同样使用前保证e.xxx.com可以跳转到xxx.com;
e.xxx.com在论坛中未被重复设置过。(如可能门户设置了e.xxx.com,插件再设置则无效)
|