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等网页基本元素,完成阶段可自行制作完整的网页,对元素属性达到熟悉程度 使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。 这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己 使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的 本文当是我的笔记啦,遇到的问题随时填充 装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。 使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的 Ps:以上纯属原创,如有雷同,纯属巧合 当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标, 真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎, 首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。 学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。 学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。 你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。 开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。 在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、 当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标, 首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。 个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。 建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
页:
[1]