首页 > 编程技术 > php

域名转向系统的实现

发布时间:2016-11-25 15:19

域名转向系统的关键技术在于:实现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地址。但我们可以通过更改winntsystem32dnsmydomain.dns这个文件来实现。此文件以文本格式保存,我们可以通过写字板将其打开。
我们需要在末尾处加入一条 * A 196.0.0.1 的记录。
我们在WIN2000的DNS管理工具里更新服务器数据文件。你会发现mydomain.com域里多出了我们本来无法直接添加的主机“*”。(注意:几小时后您所做的DNS设置才会生效。)
为了这个域名转向系统可以运行在多平台下我们选择php+mysql制作程序部分,请检查你的web服务器是否安装了php和mysql:
我们用index.htm读出浏览器送出的HTTP头信息送给dns.php,dns.php查询数据库得到转向地址并返回给客户端。
建立mysql数据库mydomain
CREATE TABLE dns (
main char(60),
link char(255)
)
main用来保存*.mydomain.com的*部分
link用来保存域名对应的转向地址。
建立index.htm:
<script>
this.location ="dns.php?url="+this.location.href;
</script>
有的朋友会问为什么不用php的GetAllHeader()函数取得浏览器送出的HTTP头信息。因为函数GetAllHeader()只支持Apache的web服务器,相信大多数win2000用户使用iis服务器。考虑到兼容性的问题我们选择使用JavaScript读出浏览器送出的HTTP头信息。
建立dns.php文件:
<?
$domain="mydomain.com"; //域名
$database="mydomain" //数据库
$datauser="root"; //数据库用户
说明,同样适合于我们PHPer啊!
首先声明,
1 本人不是什么asp高手,本人只是菜鸟
2 本文不是给程序员和高手看的,是给喜欢asp的业余爱好者共同探讨的
3 本人的学习方法并不一定正确,请自行斟酌
本人毕业于山东医科大学,五年的临床医学,出来以后干了医生,后来学习asp,想起学习的时候,那些日子是比较苦,但是挺有意思。
开始的时候学习程序只是爱好,学习asp已经将近两年了,这两年里,没有老师,只有一本从书店里买的书,可是因为没有电脑程序基础,看来看去什么也看不懂。最后一咬牙,从网上当了几个asp程序,然后从头硬着头皮一点一点的读。最早当的是 动站的fso文章更新系统,因为之前,我就对静态网页htm有一定了解,发现有一部分能看懂,有一部分看不懂,看不懂的地方就经常对照,研究,看看这个界面,这个看不懂的部分到底能实现什么功能,然后和其他界面比较。开始是死记硬背,后来慢慢竟然懂了一点,后来就可以自行修改,再往后,自己编写一点小程序也是没有问题了。
我的感觉
1 asp需要程序基础,但是因为asp相对比较单纯,很多东西都比较局限,所以没有程序基础的人学习asp也是可能的(当然能不能成为高手就很难讲了)
2 学习需要毅力和爱好,没有这两点,也是不可能学好程序的
3 学习asp能自己解决的东西,不要轻易去问别人,从网上去当其他的程序,他们是最好的老师,在学习过程中,我没有认识什么高手(主要是没有这个福分,高手都不理我这种菜鸟),问题都是自己解决。自己解决的问题,印象最深刻
4 不要总想着去问别人要程序来自己用,要是要程序的话,也是修改修改再修改,在修改中学习,一旦一个程序被你修改了50%以上(我是指内容,不是htm界面)这个程序的思路和里边的语法你一定会基本掌握了。
5 试着搞一点自己的原创的东西:比如说留言本,一开始可以用一个简单的留言本做框架,然后慢慢的增加自己想到的功能,慢慢升级,在升级中学习。
6 如果想学好程序,要有如下打算:
被女友或者老婆骂(当然,我是假设你是男朋友),要做好装聋作哑的准备
上班打盹
你的asp技术也会不断的提高...
当然,这个社会光是有asp技术也是不一定有用的,很多文盲可能比我们挣钱更多...

<HTML>
<HEAD>
<TITLE>有默认参数的函数</TITLE>
</HEAD>
<BODY>
<FONT SIZE=5>
<?
function printColored($Text, $Color="black")//定义function函数
{
print("<FONT COLOR="$Color">$Text</FONT>");//获取字符串的内容和颜色
}
printColored("这是黑颜色的字!");//调用function函数
print("<BR><BR> ");
printColored("这是蓝颜色的字!", "blue");//调用function函数
print("<BR> ");
?>
</SIZE>
</BODY>
</HTML>

<HTML>
<HEAD>
<TITLE>有返回值的函数</TITLE>
</HEAD>
<BODY>
<FONT SIZE=5>
<?
function makeBold($inputText)//定义function makeBold()函数
{
$boldedText = "<B>";
$boldedText .= $inputText;
$boldedText .= "</B>";
return($boldedText);//返回变量$boldedText
}
print("这行没有加重!!!<BR> ");//直接打印字符串
print(makeBold("这行被加重了!!!") . "<BR> ");//调用function makeBold()函数
print("这行没有加重!!!<BR> ");//直接打印字符串
?>
</SIZE>
</BODY>
</HTML>

<SCRIPT LANGUAGE="JavaScript1.1">
<!--
var autoScrollOn = 1;var scrollOnFunction;var scrollOffFunction;
function scrollit(){if(!parent.d.document.inputform.as.checked){autoScrollOn=0;return true;}else {autoScrollOn=1;StartUp();return true;}}
function scrollWindow( ){if ( autoScrollOn == 1 ){this.scroll(0, 65000);setTimeout('scrollWindow()',200);}}
function scrollOn( ){autoScrollOn = 1;scrollWindow( );}
function scrollOff( ){autoScrollOn = 0;}
function StartUp( ){this.onblur    = scrollOnFunction;this.onfocus = scrollOffFunction;scrollWindow( );}
scrollOnFunction = new Function('scrollOn( )')
scrollOffFunction = new Function('scrollOff( )')
StartUp();
//--></script> 
标签:[!--infotagslink--]

您可能感兴趣的文章: