全能空间能够实现静态化(2):ASP及其它语言

王志勇 发表于 2011年02月26日 16:03

在前面一篇的404.php这个文件,是我编写的程序实例,这段程序是一个主要的原理,你也可以根据需要来编写或者改进程序。由于时间的关系,当中没有写ASP实现静态化的程序。首先使用全能空间是迫不得已,这2篇文章并不是鼓励读者使用全能空间,而是鼓励读者、以及服务商使用Linux空间,转向PHP,国外很多的网站,都是使用PHP语言开发,甚至也有很多的主机服务商只有使用Linux系统的PHP主机,而不提供Windows主机。PHP的确有很多的优势、优点,是ASP无法媲美的,最显而易见的优点是程序简洁、函数丰富。程序简洁是因为其语句每句都以分号结束,而ASP必须回行,对于常用的程序,PHP可以把它们放在一行,这样在视觉上能大量地减少程序的复杂程度,这也是PHP比ASP开发速度快很多倍的原因之一。学习编程,并不需要精通,因为无论是大型的项目,还是小型的项目,实际的开发中,使用到的编程知识可能不到千分之一,虽然程序总是很复杂(实际上就是麻烦),复杂是因为有大量的问题需要处理,使程序经常是处于凌乱的状态。由于凌乱、以及大量语句的堆积,使其变得复杂。并且有时编程工作越做越多,永远都有做不完的事,永无止境。

这2篇文章的出发点是如果不得不用全能空间,还是可以实现网址静态化的。我不知道之前有没有人用过这种方法,但我也发现了这种方法,于是写了这2篇文章。虽然篇幅稍长了一点,初次使用本方法需要做大量的测试,但是当理解了此方法的原理、熟悉了它的使用步骤,此方法确实是比较简单的。

上一篇的404.php程序,http://www.auiou.com/relevant/00000657.jsp,对于使用全能空间的PHP程序适用。但ASP不能用同样的程序原理,因为PHP的include()函数中可以使用参数,而ASP的include则不能使用参数,由于这一点的差别,使ASP十分不方便。经过测试,PHP与ASP也不能混用,例如写一个测试页404.php,写入包含语句:include("aa.asp"),访问404.php时,仍然会将aa.asp识别为是PHP程序,而不是ASP程序。

经过多次的测试,只能用file_get_contents()函数外部调用的办法。由于ASP语言的include不能使用参数,所以只能借助PHP平台,你还需要掌握一定的PHP知识。全能空间ASP语言实现网址静态化的步骤如下:

1、如果你的网站有控制面板,可以设置404错误页,或者让服务商帮助设置404错误页,此404错误页是根目录的404.php。(而不是404.asp)

2、404.php写入如下程序,实现的原理从下面的程序也可以看出来:
<?$j=explode("/",$_SERVER['REQUEST_URI']);$a1="$j[1].asp";$i="au/$a1";
if (file_exists($i)){header("HTTP/1.1 200 OK");$i=@file_get_contents("http://www.yourdomain.com/au/$a1");echo $i;$i="";}
else header("HTTP/1.1 404 Not Found");?>

3、把要实现静态化的ASP程序,全部放在根目录的au文件夹中。例如把abc.asp放在au文件夹中,实际路径即是/au/abc.asp,实现静态化后的效果是http://www.yourdomain.com/abc/或http://www.yourdomain.com/abc/1234或http://www.yourdomain.com/abc/1234.html或http://www.yourdomain.com/abc/def/1234.asp等等任意你喜欢的效果,然后在abc.asp写相关的程序获取地址栏信息。

说明:首先要了解的是使用file_get_contents()函数是用来调用远程数据,可能会在一定程度上影响速度;但是由于调用的数据与404.php文件是在同一台服务器,所以可能对速度的影响不大。上述的程序中,为什么一定要用http://www.yourdomain.com……的方式,而不用$i=@file_get_contents("au/$a1");这样的方式?因为我用$i=@file_get_contents("au/$a1");这样的方式测试过,也成功了,但是ASP程序不执行。理论上ASP是可以正常执行的,但是它不执行,所以只能暂时用http://外部调用的方式。使用外部调用的方法,可能并不太适合大型的网站,博客只能凑合用这种方法。因为博客的流量较大,可以算是中型、或中小型的网站。用此方法,静态化后的地址同样不能用GET或POST。

需要特别注意的是$j[1].asp,与前面第1篇的说明一样,由于不同空间,配置环境不一样,需要先在网站的根目录建立一个测试页,查看返回地址栏的值,在Apache环境下测试返回的值是以/开头的,IIS环境下可能是很长的路径,如果是这种情况,需要把上述程序中的$j[1].asp,改为$j[4].asp或者其它的值,逐一测试。否则,会导致无法成功,因为这是十分关键的一步。

关于404.php这个文件的编码问题。使用默认的ANSI编码即可,如果被它包含的文件、或者被它远程调用的文件是UTF-8编码,经过我长期的测试,并不会影响使用。

除了ASP语言,其它语言,都可以用本篇的方法,也就是404错误页一律使用404.php,在404.php中写入PHP程序,借助PHP平台,然后用file_get_contents()远程调用。如果你所使用的编程语言的include函数(方法)能像PHP一样能够使用参数,404错误页则需要用你所使用的语言,按照第1篇的404.php的程序,改为相应的语言即可。

3条评论:
1   自由勇 2011-02-26 16:19
Trackback来自《全能空间能够实现静态化(伪静态)(已测试成功)

ASP与上面PHP的方法是类似的,步骤和原理大致相同。

2   深圳律师 2011-02-26 22:52
来王先生博客,能学到知识
3   GoodCMD 2011-02-27 21:17
勇哥,还是你的水平高一些,ASP的都能想到方法,看来真是“没有做不到,只有想不到”。
你加粗的那一段话我很赞同,说的真好。

发表评论:
名字: (*必填)
博客: (可省,仅限于Blog地址)
验证码: p48u58r68e78 (*必填)

正文:

  记住信息?

直接发送Trackback到此文章

说明:本评论系统不支持HTML代码。(您的留言需要审核,审核规则请见这里。)

文章分类 Category:
真相与UFO Truth and UFO
编程 Program
PHP
Blog的发展 Development
为什么写博客 W-do we Blog
互联网 Internet
BBS社区研究 Community
QQ研究 QQ Research

置顶的文章:
程序开发的门槛儿
为什么不能夸孩子调皮?
我的3种博客写作方法
最大的公益事业是UFO
再谈四维空间
开发文档和程序注释
Arsue Blog程序的扩展
独立微博开发之设想

近期的主题:
2017.7第2篇
auiou.com今天换上了KVM
CentOS, Debian, Ubuntu三种VPS系统的LAMP属性小结
Debian 6.0和Ubuntu 14.04新装机的参数记录
Linux VPS的速度优化
Nginx与.htaccess
CentOS 6新装机的参数记录
auiou.com的VPS的内存占用测试
2016年8月第一帖
不喜欢锻炼身体的朋友
看《第五空间》
看《爱情公寓》的一点感想
生命的意义在于每一天都是人生的开始
安卓机顶盒收到小记
人生中最可怕的事情是拖延
不能贪吃/不能贪喝/不能贪凉
“世面”和人生意义
计划推出一个重要的“网络存档”(网络记事本)快速小程序
最近几个月博客更新减缓的原因
汽车越来越多
编写完成了清爽的贴吧浏览程序/贴吧占用内存测试
猫/无线路由器/瑞银无线网卡 最简单有效的散热方法
最近录制的歌
家用无线路由器选购的一些建议
网络电视机顶盒选购的一些建议
无线路由器当作无线交换机实例
2013-08-08:人生的意义&谨言慎行
怎样对治重症的拖沓的毛病?
磊科NW336无线网卡使用感受
腾达311R无线路由器频繁掉线解决一例(其它品牌和型号可能也适用)
网络电视杰科T1使用感受(杰科T1/T2/T3怎么样?)
人为什么会无聊?无聊的时候该做什么?
2013-07-14:看不见的全息摄像机
想法:2013-07-12
有趣的植物3:景天科多肉植物
有趣的植物2:米邦塔食用仙人掌
最有趣的植物
想法:2013-06-30
好好地修心
中国现代和未来的黑人问题/广州黑人
KVM主机竟然死机
想法:2013-06-13
行人的过错
为什么不能夸孩子调皮?/怎样教出一个好孩子?
打招呼的一瞬间
欢迎哥们儿们加我的QQ
好心一定会有好报
拜金女的下场都是不好的
最近很忙,写作的思路断了
狂做好事,消除烦恼
最大的公益事业是UFO/怎样做UFO研究?
  

王志勇:程序设计者。
1980-09-26 (38周岁)

版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。

与此相关的链接
自由勇专栏 | Arsue官方Blog
Gratitude | Time | Auciou
matnue | aucist | Taimt | Caimt | ac315 | Arsue | IC Search | TDNote 帖笛 | HKANS | aroat | Vaimt Panel | txfor | 网树 | cdfor | aufirm | Emxel | ixnes | AnyDiary | Tuarm | Tovate | Urtal | coumit | cersta | tratom | 性格追踪仪54.156.85.167 2018-08-20_19:52

Blog存档 Archives

2013年08月(9)
2013年07月(6)
2013年06月(7)
2013年05月(22)
2013年04月(17)
2013年03月(20)
2013年02月(21)
2013年01月(6)
2012年12月(3)
2012年08月(8)
2012年07月(4)
2012年06月(4)
2012年05月(6)
2012年04月(13)
2012年03月(11)
2012年01月(7)
2011年10月(8)
2011年09月(4)
2011年08月(2)
2011年06月(2)
2011年05月(6)
2011年04月(10)
2011年03月(16)
2011年02月(16)
2011年01月(15)
2010年12月(12)
2010年11月(9)
2010年10月(3)
2010年05月(4)
2010年01月(7)
2009年12月(10)
2009年11月(4)
2009年10月(8)
2009年09月(24)
2009年08月(20)
2009年07月(6)
2009年06月(11)
2009年05月(16)
2009年04月(20)
2009年03月(29)
2009年02月(18)
2009年01月(15)
2008年12月(17)
2008年11月(10)
2008年10月(13)
2008年09月(8)
2008年08月(4)
2008年07月(5)
2008年06月(9)
2008年05月(12)
2008年04月(15)
2008年03月(26)
2008年02月(22)
2008年01月(29)
2007年12月(30)
2007年11月(28)
2007年10月(30)
2007年09月(8)
2007年08月(8)
2007年07月(21)
2007年06月(23)
2007年05月(31)
2007年04月(34)
2007年03月(29)
2007年02月(18)
2007年01月(41)
2006年12月(23)
2006年11月(10)
2006年10月(10)
2006年09月(29)
2006年08月(33)
2006年07月(17)
2006年06月(30)
2006年05月(4)
2006年01月(3)
2005年09月(4)


Copyright © 2006-2018 auiou.com All rights reserved.
此Blog程序由王志勇编写 已经发布在Arsue