相信很多喜爱制作个人网站的朋友都使用过类如http://yourname.yeah.net或者http://yourname.126.com的免费三级域名,有很多人在想:我要是能让自己的服务器也能够实现域名转向就好了。其实这并不复杂。看完了本文,你也可以做一个域名转向系统。

域名转向系统的关键技术在于:实现web页面的重定向(Redirctory)。在本质上,域名转向系统和虚拟机系统完全不同。虚拟机的虚拟域名和IP是存在一一对应关系的。而域名转向系统不需要将域名和IP做一一映射。也就是说,它根本不需要复杂的域名解析机制和虚拟机来完成,它所做的事情就是当你在请求*.yourdomain时,将你的浏览器重新定向到你存放html页面的实际地址。

下面我们一步一步实现域名转向系统:

(假设你的域名是www.mydomain.com 主机地址是 196.0.0.1)。

首先我们要设置DNS把 *.mydomain.com 指向我们的主机地址 196.0.0.1。(如果你没有自己的DNS服务器你可以跳过这步分并与您的域名服务商联系请他们帮你把*.mydomain.com指向196.0.0.1)

win2000的DNS管理工具不允许把主机名称直接填写为*也就是说我们在win2000DNS管理工具里无法直接把*.mydomain.com指向同一个IP地址。但我们可以通过更改winnt/system32/dns/mydomain.dns这个文件来实现。此文件以文本格式保存,我们可以通过写字板将其打开。

我们需要在末尾处加入一条* A 196.0.0.1 的记录。

我们在WIN2000的DNS管理工具里更新服务器数据文件。你会发现mydomain.com域里多出了我们本来无法直接添加的主机“*”。(注意:几小时后您所做的DNS设置才会生效。)

为了这个域名转向系统可以运行在多平台下我们选择web服务器是否安装了php和mysql:

我们用index.htm读出浏览器送出的HTTP头信息送给dns.php,dns.php查询数据库得到转向地址并返回给客户端。

建立mysql数据库mydomain

CREATE TABLE dns (

mainchar(60),

linkchar(255)

)

main用来保存*.mydomain.com的*部分

link用来保存域名对应的转向地址。

建立index.htm:

this.location="dns.php?url="+this.location.href;

http://www.gaodaima.com/47436.html域名转向系统的实现_php

有的朋友会问为什么不用php的GetAllHeader()函数取得浏览器送出的HTTP头信息。因为函数GetAllHeader()只支持Apache的web服务器,相信大多数win2000用户使用iis服务器。考虑到兼容性的问题我们选择使用读出浏览器送出的HTTP头信息。

建立dns.php文件:

$domain="mydomain.com"; //域名

$database="mydomain" //数据库

$datauser="root"; //数据库用户

$datapwd=""; //数据库密码

$dataserver="localhost"; //数据库服务器地址

?>

$db=mysql_pconnect($dataserver,$datauser,$datapwd);

?>

$url=str_replace("http://","",$url);

$url=strrev($url);

$url=strchr($url,strrev($domain));

$url=strrev($url);

$main=str_replace("."."$domain","",$url);

?>

$str="select link from dns where main='$main'";

$result=mysql_db_query($database,$str,$db);

list($link)=mysql_fetch_row($result);

?>

系统错误,或者这个域名还没有被注册!

程序部分完成。

最后要做的是配置web服务器这里我们以iis5.0为例

打开Internet信息服务的管理工具,新建一个站点*.mydomain.com(注意一定要把这个站点做为独立IP的默认站点)

把index.htm做为*.mydomain.com的默认文档。

至此域名转向系统实现了。你可以在数据库添加一条数据

Insert into dns values("etechnic","www.etechnic.com.cn")

以后只要大家只要在浏览器输入etechnic.mydomain.com就可以进入eNet技术频道了。

这里只向大家介绍域名转向的核心内容,你只要再编写一个简单的注册部分就可以提供像my.yeah.net的免费域名转向服务了。或者可以电子邮件zjzf_1@163.net向我免费索取asp cgi php各版本的完整域名转向服务程序。

程序部分在iis5.0+php4.0+mysql和linux+mysql+Apache测试通过。不足之处希望高手赐教。

php需要帮助搞域名吗,域名转向系统的实现_php相关推荐

  1. 什么是A记录,子域名,CNAME别名,MX记录,TXT记录,SRV 记录,泛域名(泛解析),域名转向,域名绑定...

    什么是A记录,子域名,CNAME别名,MX记录,TXT记录,SRV 记录,泛域名(泛解析),域名转向,域名绑定 A记录 QUOTE: A (Address) 记录是用来指定主机名(或域名)对应的IP地 ...

  2. ngin IP跳域名 域名跳域名 if多判断

    域名直接跳域名 server {listen 80;server_name www.test123.com;rewrite ^/(.*) http://www.test456.com/$1 perma ...

  3. 3分钟弄明白顶级域名二级域名子域名父域名的区别

    顶级域(顶级域名): 顶级域(或顶级域名),英语:Top-level domains,first-level domains(TLDs),也翻译为国际顶级域名.是互联网DNS等级之中的最高级的域,它保 ...

  4. 阿里云-邮件推送 配置 购买域名 配置域名

    阿里云-邮件推送 配置 购买域名 配置域名 1.邮件推送是什么: 2.为什么要用它 3.如何使用? 3.1 第一步:创建发信域名 第二步. 创建发信地址 第三步. 再创建一个模板,这个需要审核. 最后 ...

  5. 域名停靠(域名抢注的几种形式)

    域名停靠,又叫域名停放.简单来说,就是将具有一定流量的优质域名交给域名停靠服务商管理,让他们在你的域名上面投放广告. "域名停靠"来自于英文Domain Name Parking, ...

  6. 什么是论坛域名?论坛域名适用在哪些地方?

    论坛域名是什么样的?论坛域名好不好?论坛域名适用在哪些地方?大家都知道论坛是发帖回帖讨论的平台,是Internet上的一种电子信息服务系统.每个用户都可以在上面书写,可发布信息或提出看法.下面我们就来 ...

  7. 小程序 配置域名 业务域名_使域名成为您的业务

    小程序 配置域名 业务域名 Even though there's not a NASDAQ or S&P 500 for domain investors, industry insider ...

  8. US Domain Center域名注册| 域名注册商

    美国域名注册中心(US Domain Center)是国际知名域名注册服务商.马上查询域名, 注册域名! (即时生效!) 免费的域名增值服务 US Domain Center提供简单的域名设置, 无需 ...

  9. 什么样的域名才能算短域名?短域名还能有吗?

    众所周知,域名越短越好,短域名便于用户记忆,同时也更有价值.这里有人要问了,什么样的域名才能算短域名吗?现如今短域名还能有吗?以下是小聚给大家的介绍. 1.什么样的域名才能算短域名? 短域名就是字符短 ...

  10. 服务器域名 一级域名_HTTP简介:域名系统服务器

    服务器域名 一级域名 by Cher Don 由谢尔·唐(Cher Don) HTTP简介:域名系统服务器 (An introduction to HTTP: Domain Name System s ...

最新文章

  1. 转载:keil中使用Astyle格式化你的代码的方法2篇合
  2. python如何导入txt文件-python如何将数据写入本地txt文本文件
  3. 后台服务显示右下角弹窗 -- system权限创建用户权限进程
  4. python3 拼接字符串的7种方法
  5. nginx(五)rewrite
  6. 【Redis】redis 配置 配置文件 redis.conf
  7. 60-130-336-源码-source-kafka相关-Flink读取kafka
  8. linux全符号链接是什么,Linux 下的符号链接到底是个什么鬼?
  9. [导入]【翻译】WF从入门到精通(第二章):workflow运行时
  10. zookeeper版本更新_很遗憾,没有一篇文章能讲清楚ZooKeeper
  11. 题目1008:最短路径问题(SPFA算法)
  12. 题目399-整除个数(满满的套路)
  13. gitee和gitHub的命令和详细步骤操作
  14. HDFS文件误删除之恢复
  15. 共享经济开始崩溃,区块链能否再续共享经济神话?
  16. 举个栗子!Tableau 技巧(2):参数的应用
  17. 实验报告:定义一个名为MyRectangle的矩形类,完成如下要求
  18. PyTorch搭建卷积神经网络(CNN)进行视频行为识别(附源码和数据集)
  19. Numpy中reshape的用法
  20. 北京信息科技大学第十三届程序设计竞赛暨ACM选拔赛题解

热门文章

  1. 网页游戏外挂的设计与编写:QQ摩天大楼【三】(登陆准备-信息发送方式)
  2. Axure RP 9.0 Enterprise 原型设计
  3. SNS背后的科:从六度分隔到无尺度网络,互联网营销
  4. win10计算机管理里用户,win10怎么查看有几个用户 win10新增管理员账户的步骤演示...
  5. linux中PATH环境变量的作用和使用方法
  6. 企鹅撞冰块Java游戏_亲子桌面游戏玩具 拯救企鹅敲打冰块玩法
  7. Linux安装glassfish、利用glassfish部署应用
  8. E - The Journey of Geor Autumn(线性DP,前缀和)
  9. 怎么设置计算机桌面一键关机,图文详解如何设置电脑定时开关机
  10. 来上海度过的第一个五一,我去了哪些地方?