仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4026|回复: 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,但是也必须先跟它混个脸熟,看,一遍遍的看,看的同时一边琢磨,一边按照它所教的打代码,即使你搞不清楚那些代码到底是干嘛的,但是起码你应该找找感觉。
再现理想 该用户已被删除
21#
发表于 2015-7-12 06:05:55 | 只看该作者
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
精灵巫婆 该用户已被删除
20#
发表于 2015-6-24 14:07:16 | 只看该作者
Ps:以上纯属原创,如有雷同,纯属巧合
若天明 该用户已被删除
19#
发表于 2015-6-16 06:50:51 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
愤怒的大鸟 该用户已被删除
18#
发表于 2015-6-13 21:22:52 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
admin 该用户已被删除
17#
发表于 2015-6-12 11:48:18 | 只看该作者
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
变相怪杰 该用户已被删除
16#
发表于 2015-4-29 19:57:05 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
只想知道 该用户已被删除
15#
 楼主| 发表于 2015-4-28 09:52:06 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
海妖 该用户已被删除
14#
发表于 2015-4-27 08:08:26 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
老尸 该用户已被删除
13#
发表于 2015-4-13 17:54:26 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
莫相离 该用户已被删除
12#
发表于 2015-4-10 09:12:46 | 只看该作者
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
不帅 该用户已被删除
11#
发表于 2015-3-26 08:03:18 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
爱飞 该用户已被删除
10#
发表于 2015-3-22 03:10:33 | 只看该作者
兴趣是最好的老师,百度是最好的词典。
金色的骷髅 该用户已被删除
9#
发表于 2015-3-19 14:47:19 | 只看该作者
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
再见西城 该用户已被删除
8#
发表于 2015-3-15 06:18:15 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
灵魂腐蚀 该用户已被删除
7#
发表于 2015-3-7 13:08:01 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
乐观 该用户已被删除
6#
发表于 2015-3-4 01:05:49 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
5#
发表于 2015-2-13 19:02:22 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
飘灵儿 该用户已被删除
地板
发表于 2015-2-11 13:14:13 | 只看该作者
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
因胸联盟 该用户已被删除
板凳
发表于 2015-2-9 22:59:37 | 只看该作者
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-22 21:31

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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