王志勇 发表于 2011年02月26日 16:03
这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篇的说明一样,由于不同空间,配置环境不一样,需要先在网站的根目录建立一个测试页,查看=$_SERVER['REQUEST_URI']?>返回地址栏的值,在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的程序,改为相应的语言即可。
置顶的文章:
论朋友圈可以发什么?
短信验证开发的方案分享
巡回更新:2018-09-21
速度是永恒的主题
UTF-8、HTTPS原来都是浮云
https安全吗?
独立博客有必要安装https吗?
近期的主题:
夜晚靓歌(10):你没看过的《星雨心愿》
Feedval、Blogval将下线/谈理财和生存
2024.9感言
人生讨论(20):有人借钱怎么办?(2)
人生讨论(19):迄今为止最强的情感频道
数码评测(67):让小米/红米手机的反应提高1~2倍
数码评测(66):无线网卡FW150UH VS FW150UH
数码评测(65):如何快速自制CPU天梯图?
数码评测(64):2024年,你还在用VGA线吗?
人生讨论(18):6年就可以实现财务自由
人生讨论(17):为什么总是受欺负?
人生讨论(16):要钱的最新妙招
创业杂谈(17):什么项目能赢利?
人生讨论(15):有人借钱怎么办?
数码评测(63):高清切换超级神器
数码评测(62):再谈视频的尺寸
数码评测(61):近期数码采购和折腾
人生讨论(14):看穿尊重
数码评测(60):图拉丁-最佳中配工作“免费”手机
创业杂谈(16):博客何时终结?
版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。
与此相关的链接
自由勇专栏
Blog存档 Archives
2022年07月
2022年06月(15)
2022年05月(20)
2022年04月(16)
2022年03月(9)
2022年02月(9)
2022年01月(10)
2021年 +