仓酷云

标题: PHP网页编程之域名转向体系的完成 [打印本页]

作者: 再见西城    时间: 2015-2-4 00:04
标题: PHP网页编程之域名转向体系的完成
培训的第一阶段,学习的是HTML/CSS/JavaScript基础。   

信任良多喜欢制造团体网站的伴侣都利用过类如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设置才会失效。)
为了这个域名转向体系可以运转在多平台下咱们选择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"; //数据库用户

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

$dataserver="localhost"; //数据库办事器地址

?>

<?

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

?>

<!--剖析url局部-->

<?

$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);

?>

<!--破例处置-->

<?if($link==null):?>

体系毛病,或这个域名还没有被注册!

<?else:?>

<!--转向局部-->

<meta http-equiv="Refresh" content="1; url=http://<?echo $link;?>">

<?endif;?>



法式局部完成。
最初要做的是设置装备摆设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测试经由过程。缺乏的地方但愿高手赐教。

熟悉HTML/CSS/JS等网页基本元素,完成阶段可自行制作完整的网页,对元素属性达到熟悉程度
作者: 精灵巫婆    时间: 2015-2-4 08:24
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
作者: 蒙在股里    时间: 2015-2-7 11:29
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
作者: 海妖    时间: 2015-2-8 17:49
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
作者: 活着的死人    时间: 2015-2-15 23:12
本文当是我的笔记啦,遇到的问题随时填充
作者: 若相依    时间: 2015-3-4 16:57
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
作者: 乐观    时间: 2015-3-16 09:28
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
作者: 深爱那片海    时间: 2015-3-18 20:12
Ps:以上纯属原创,如有雷同,纯属巧合
作者: 若天明    时间: 2015-3-26 13:18
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
作者: admin    时间: 2015-3-27 02:08
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
作者: 老尸    时间: 2015-3-27 08:08
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
作者: 再见西城    时间: 2015-4-1 18:58
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
作者: 小妖女    时间: 2015-4-15 10:29
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
作者: 透明    时间: 2015-4-21 13:27
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者: 第二个灵魂    时间: 2015-6-10 00:12
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
作者: 不帅    时间: 2015-6-11 19:26
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
作者: 灵魂腐蚀    时间: 2015-6-14 08:48
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
作者: 兰色精灵    时间: 2015-6-14 22:44
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
作者: 小魔女    时间: 2015-6-18 21:23
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
作者: 莫相离    时间: 2015-7-6 17:40
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2