仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3622|回复: 20
打印 上一主题 下一主题

[学习教程] PHP网站制作之若何开辟一个虚拟域名体系

[复制链接]
只想知道 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:26:16 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
学会了生成静态网页,现在你应该接触一下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,但是也必须先跟它混个脸熟,看,一遍遍的看,看的同时一边琢磨,一边按照它所教的打代码,即使你搞不清楚那些代码到底是干嘛的,但是起码你应该找找感觉。
只想知道 该用户已被删除
沙发
 楼主| 发表于 2015-4-28 09:52:06 | 显示全部楼层
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-3 11:28

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表