![]() |
|
首页 │ Apache │ Linux│ Java│ MySQL│ 注册│帮助 | |||
MD,最近整PHP,ASP整得特多,也整得烦,昨天又开始搞JSP勒 特烦写端口,又是这个,又是那个,晕一下 决定,把我以前写的PHP的404进行一下实际应用 让他可以实现用"同一端口"运行ASP,PHP,JSP 我的服务器配置如下 80端口 APACHE(PHP) 125端口 IIS(ASP) 8080端口 RESIN(JSP) 原来每次访问的时候都要 http://hgxxx007/index.php http://hgxxx007:125/index.asp http://hgxxx007:8080/index.jsp 看勒烦 现在想给他改成 http://hgxxx007/index.php http://hgxxx007/index.asp http://hgxxx007/index.jsp 而我又懒去研究 APACHE上安装ASP,JSP插件 自力更生一下吧,想到前段时间用HTTP404错误,用得很爽,今天没事给他来个实际应用吧 APACHE配置 ------------------------------- ErrorDocument 404 /error/404.php ------------------------------- 程序如下: 404.php [php] <?php /*********************************************************** 江南果冻,hgxxx007版权所有,可以任意使用, 如有道同志和愿合作深入开发研究可以联系作者 或者您对作者的程序有什么意见建议的话也可以跟作者联系 E-mail: hgxxx007 at 163 dot com QQ: 83451799 MSN:cy8335462 at hotmail dot com 实现功能: 是客户端不需要改变任何端口即可访问APACHE,IIS,RESIN 服务器动态文档文件, 可以各个服务器下的文件所调用的文件(如JS,IMAGE,......)以及链接 基本上不受干扰,但是如果跨服务器调用的话,或者是静态文件调用静态 文件将会失败, 没有实现的功能: 如果出现跨服务器POST数据,Session,Cookie,将会失败 这个问题以后作者将做深入研究 ***********************************************************/ require_once('function.inc.php'); $RequestUrl = $_SERVER['REQUEST_URI']; //echo var_dump(file_exists(realpath($_SERVER['DOCUMENT_ROOT'].'/error/ip.php?0000'))); $RefererUrl = $_SERVER['HTTP_REFERER']; $urlinfo = parse_url($RequestUrl); $refererinfo = parse_url($RefererUrl); if(file_exists($_SERVER['DOCUMENT_ROOT'].'/_new'.$urlinfo['path'])) { //header("Location:/_new$RequestUrl"); require($_SERVER['DOCUMENT_ROOT'].'/_new'.$urlinfo['path']); exit; } $PathInfo = pathinfo($urlinfo['path']); $RefererPathInfo = pathinfo($refererinfo['path']); $Host = GetFileHost($PathInfo); $RefererHost = GetFileHost($RefererPathInfo); if( $Host ) { readfile($Host.$RequestUrl); exit; } elseif( $RefererHost ) //这里是为了防止其他服务器得图片,CSS,JS等文件都请求到Apache服务器去勒 { readfile($RefererHost.$RequestUrl); exit; } ?>

