再见西城 发表于 2015-2-4 00:04:01

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:10

使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。

蒙在股里 发表于 2015-2-7 11:29:59

这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己

海妖 发表于 2015-2-8 17:49:13

使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的

活着的死人 发表于 2015-2-15 23:12:21

本文当是我的笔记啦,遇到的问题随时填充

若相依 发表于 2015-3-4 16:57:17

装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。

乐观 发表于 2015-3-16 09:28:57

使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的

深爱那片海 发表于 2015-3-18 20:12:22

Ps:以上纯属原创,如有雷同,纯属巧合

若天明 发表于 2015-3-26 13:18:46

当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,

admin 发表于 2015-3-27 02:08:05

真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,

老尸 发表于 2015-3-27 08:08:16

首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。

再见西城 发表于 2015-4-1 18:58:57

学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。

小妖女 发表于 2015-4-15 10:29:03

学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。

透明 发表于 2015-4-21 13:27:43

你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。

第二个灵魂 发表于 2015-6-10 00:12:43

开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。

不帅 发表于 2015-6-11 19:26:37

在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、

灵魂腐蚀 发表于 2015-6-14 08:48:20

当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,

兰色精灵 发表于 2015-6-14 22:44:40

首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。

小魔女 发表于 2015-6-18 21:23:17

个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。

莫相离 发表于 2015-7-6 17:40:27

建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
页: [1]
查看完整版本: PHP网页编程之域名转向体系的完成