PHP网站制作之若何开辟一个虚拟域名体系
学会了生成静态网页,现在你应该接触一下XML了,恩,XML也了解了,那么AJAX你也得接触接触吧?AJAX完了....然后... 人人在利用诸如yourname.yeah.net如许的简记域名时都感应非常便利,有良多人在想:我如果能让本人的办事器也可以完成简记域名就行了。其实这其实不庞杂。看完了本文,你也能够做一个简记域名体系。简记域名体系的关头手艺在于:完成Web页面的重定向(Redirctory)。在实质上,简记域名体系和虚拟机体系完整分歧。虚拟机的虚拟域名和IP是存在逐一对应关系的。而简记域名体系不需求将域名和IP做逐一映照。也就是说,它基本不需求庞杂的域名解析机制和虚拟机来完成,它所做的工作就是当你在恳求yourname.somedomain时,将你的阅读重视新定向到你原本寄存Html页面的中央。
为了申明的更完美,上面图例:
我供应的源法式是运转情况是:RedHat 5.1 Linux下的Apache1.3.6 Web办事器+PHP3言语。 在编写法式之前,咱们起首要设置好咱们的办事器。起首要让Apache办事器撑持php3。到ftp.redhat.com下载mod_php-2.0.1-9.i386.rpm,装置后,修正/etc/httpd/conf/http.conf文件,去失落#LoadModule php3_module一句后面的#正文号,一样在/etc/httpd/conf/srm.conf文件里去失落#AddType application/x-httpd-php3 .php3后面的正文号,同时在DirectoryIndex一项后添加index.php3。从头启动Apache Server,此时办事器就撑持尺度的php3言语剧本文件了并能将index.php3作为默许的首页。
设置DNS办事器,使其能对泛域名解析。普通的Unix和Linux体系的DNS解析都是由Bind守护法式完成的,Bind4和Bind8的设置装备摆设文件分离/etc/named.boot和name.conf,设置装备摆设时依据你的体系修正。设置Bind的设置装备摆设文件/etc/named.boot,在个中到场“primary domain.com db.domain”一句,添加一个新的域纪录。在/etc/name.conf中到场:
zone "domain.com" {
type master;
file "db.domain”;
};
在/var/name/中新建主域纪录文件db.domain,其格局为:
N SOA dns.domain.com root.domain.com (
199811291 ;Serial
28800 ;refresh
7200 ;retry
604800 ;expire
86400) ;minimum
dns
MX 10 dns.domain.com.
dns A 202.115.135.50
www A 202.115.135.50
* A 202.115.135.50
关头是最初一句,行将全部域能够呈现未做标志的一切Hostname全体指向统一IP。 履行/usr/sbin/ndc reload,从头加载域名数据库。测试一下,此时应当随意ping一个domain域内的主机(除已标志的),都指向了指定的IP,那末DNS办事器设置完成。
最初一步是编制PHP3剧本。咱们方才已在图中具体的申明了全部的道理,所以写一个从头定向的法式就不是很难了。
让咱们来看一个由IE5.0送出的完全HTTP头信息:
Accept: application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
Accept-Encoding: gzip, deflate
Accept-Language: zh-cn
Connection: Keep-Alive
Host:ww.yahoo.com
User-Agent: Mozilla/4.0 (compatible; MSIE 5.0b1; Windows 98)
咱们需求在全部HTTP头信息中掏出Host信息,然后将http://www.jj.jx.cn/www.xxx.xxx/default.htm模式的第一局部“www”,即HostName(也便是用户注册的name)独自掏出,作为重定向检索的关头字。
检索到用户注册的URL信息后,咱们给用户阅读器送一个重定向号令“Localtion: http://www.jj.jx.cn/somewhere/sample.html”,将用户重定向到指定页面。
在PHP3中,有函数GetAllHeader(),获得阅读器送出的HTTP头信息。咱们次要需求利用此函数来完成全部法式。
前面附有源法式,因为只是实行性质的,所以在查询用户信息时,没有利用数据库,假如全部体系要实践使用的话,必定要和数据库挂接起来,否则查询用户信息的进程将是非常漫长,大大影响效力,并且用户数据的办理也不便利。(因为篇幅限制,没有给出注册和办理所需的写纪录法式,请自行添加)
在源法式中,一切用户信息纪录在data子目次下user.dat文件中。其格局为:
username:
http://octopus.cdit.edu.cn/~qap213/index.html
附PHP3源法式:
<?
//Get HTTP’s Header and parse it//
$headers = getallheaders();
while (list($header, $value) = each($headers)) {
if($header=="Host"){$username= strtok($value,".");}}
//Jump out the Banner's Window//
echo '<script language="JavaScript">',
'msg=window.open("banner.htm","sample",
"toolbar=no","directories=no",directories=no","menubar=no");’,
'</script>';
// seek the user information from the recorded file//
if(!$usrinfo=file("data/user.dat")){echo "Open Data File Error!!";}
$url="http://";
for($i=0;$i<count($usrinfo);$i++)
if(strtok($usrinfo[$i],":")==$username){
$url=$usrinfo[$i+1];
}
if($url=="http://"){echo "not found the uesrname of Data!";}
else{
echo '<meta http-equiv="refresh" content="0;','url=',$url,'">';}
?>即使你理解不了PHP,但是也必须先跟它混个脸熟,看,一遍遍的看,看的同时一边琢磨,一边按照它所教的打代码,即使你搞不清楚那些代码到底是干嘛的,但是起码你应该找找感觉。 至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。 使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。 要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。 学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。 遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。 说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。 写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。 兴趣是最好的老师,百度是最好的词典。 再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。 首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。 作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。 在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、 建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。 装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。 说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。 微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。 Ps:以上纯属原创,如有雷同,纯属巧合
页:
[1]
2