通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 my小屋
联系我们
设为首页
加入收藏

 

qq,asp,php,jsp,xml,sql,.net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>在线服务>>疑难解答>>正文 新版上线![旧版]
注:打开慢时请稍等

讨论:谁实现过apache下的url重写技术?

http://www.iyit.net  日期:2006-10-6 15:35:50  来源:iyit.net收集  点击:
参加讨论
比如可以将:  
http://www.chedong.com/phpman.php?mode=man&parameter=ls  
变成:  
http://www.chedong.com/phpman.php/man/ls  
 
这种技术在apache下的配置有谁真正的实现过?欢迎大家讨论一下。  
 
 
具体文章参考:  
http://www.chedong.com/tech/google_url.html  
 
apache模块  mod_rewrite  
http://i18n.linux.net.cn/others/apachemanual/mod/mod_rewrite.html  
---------------------------------------------------------------  
回复人:  unijune(uni)  (  )  信誉:92    2003-12-16  10:23:04    得分:0    
   
   
     
sports98  发表于  2003-12-5  16:40  php  ←返回版面                    [快速返回]    
   
今日与同事在闲聊,在传递参数上,他和我说又个论坛使用了  
 
xxxx.php/1000/20000  
的传递方式进行了传递,于是就想了想最终写了这个代码  
----------------------------------------------------  
(由于考虑到有的时候并不能很完善的兼容过来,因此代码兼容了两种传值方式.)  
 
用以上所说的方法有个缺点:图片与联接必须使用绝对路径...................  
 
 
以下是代码  
 
--------------------------------------------------------------------------------  
 
 
/******转换代码*********/  
//不包含?设置的参标记  eg.  http://localhost/index.php/page=2/ccc=3  
if(!ereg("\\?",$_server[request_uri])  &&  ereg("/",$_server[request_uri])){  
//下面将数据解析入get数组    
$newgetarray=ereg_replace("$_server[script_name]/","",$_server[request_uri]);  
$newgetarray=ereg_replace("/","&",$newgetarray);  
parse_str($newgetarray,$_get);  
//不包含‘=’号的参数传递方式  eg.  http://localhost/index.php/1/2  
if(!ereg("=",$_server[request_uri])){  
$keys=array_keys($_get);  
//本页内接受的参数排列顺序  
$arraylist=array("forumid","threadid");  
for($tempa=0;$tempa<count($keys);$tempa++){  
$_get[$arraylist][$tempa]]=$keys[$tempa];  
}  
}  
}  
/***************/  
   
   
转贴来了。  
 
     
   
top    
   
 回复人:  xiahouwen(活靶子.net)  (  )  信誉:100    2003-12-16  11:27:30    得分:0    
   
   
     
想知道踢下  
 
 
     
   
top    
   
 回复人:  141242()  (  )  信誉:99    2003-12-16  12:03:46    得分:0    
   
   
     
实现过,但我个人认为极度影响速度,后来我就取消这样的重写技术了。  
 
     
   
top    
   
 回复人:  gaofaq(杀猪的)  (  )  信誉:98    2003-12-16  16:36:21    得分:0    
   
   
     
问一下这个是干啥使的?  
 
     
   
top    
   
 回复人:  jxyuhua(好好学习,天天进步!)  (  )  信誉:99    2003-12-16  19:23:16    得分:0    
   
   
     
好象应该是在服务器(apache)上设置配置文件,没人用过吗?  
 
     
   
top    
   
 回复人:  liyujie2000(开心的鱼)  (  )  信誉:99    2003-12-16  20:13:19    得分:0    
   
   
     
是  apache  里面配置  rewriterule  的  
 
你自己给出的连接  
http://i18n.linux.net.cn/others/apachemanual/mod/mod_rewrite.html  
 
中,介绍的很详细  
 
     
   
top    
   
 回复人:  kurt1983(科特)  (  )  信誉:100    2003-12-16  22:24:26    得分:0    
   
   
     
看晕了  
 
     
   
top    
   
 回复人:  shos(和月  修)  (  )  信誉:101    2003-12-17  1:15:56    得分:0    
   
   
     
得把好多  loadmodule  前的  #  去掉,比如:rewrite_module、proxy_module  等,记不清了,总之出什么错就去哪个就成了,参考英文文档中哪个命令对应哪个  module。  
以下是把  http://localhost/iis/  和  http://localhost/tom/  转到相应端口的例子:  
(但如果没有最后的斜线是不行的,我不知道怎么解决。现在在用  iis,它可以完美的转换)  
 
proxypass  /iis/  http://127.0.0.1:80/  
proxypassreverse  /iis/  http://127.0.0.1:80/  
proxypass  /tom/  http://127.0.0.1:8080/  
proxypassreverse  /tom/  http://127.0.0.1:8080/  
 
 
     
   
top    
   
 回复人:  xiahouwen(活靶子.net)  (  )  信誉:100    2003-12-17  9:57:16    得分:0    
   
   
     
如何在虚拟主机实现  
我的意思是通过编程实现  虚拟主机用户那来的权利去东php.ini、??  
 
     
   
top    
   
 回复人:  ashchen(陈辉)  (  )  信誉:120    2003-12-17  10:11:26    得分:0    
   
   
     
ini_set()不就可以动php.ini了吗?  
 
     
   
top    
   
 回复人:  mwjx()  (  )  信誉:99    2003-12-18  9:54:26    得分:0    
   
   
     
mark  
 
     
   
top    
   
 回复人:  xuzuning(唠叨)  (  )  信誉:492    2003-12-18  11:48:50    得分:0    
   
   
     
很简单,只是自行解析参数  
无须对apache服务器进行设置,你或许并无设置的权限。  
 
<?php  
/*  此方法仅用于apache服务器  */  
if(isset($_server[path_info]))  //若path_info可用,注意aoache2默认不可用  
   $query_string  =  $_server[path_info];  
else  {  
   $query_string  =  str_replace($_server[script_name],"",$_server[php_self]);  
   //或  
   $query_string  =  str_replace($_server[script_name],"",$_server[request_uri]);  
}  
if(empty($query_string))  
   echo  "没有参数";  
else  {  
   echo  "得到的参数串  $query_string<br/>";  
   $args  =  split("/",substr($query_string,1));  //分裂成数组  
   print_r($args);  //  查看得到的参数数组。注意由于传递的参数没有变量名信息,你需要仔细的按位置确定参数的含义  
?>  
 
 
     
   
top    
   
 回复人:  jxyuhua(好好学习,天天进步!)  (  )  信誉:99    2003-12-18  19:08:24    得分:0    
   
   
     
这样能达到这种效果吗?  
 
http://www.chedong.com/phpman.php?mode=man&parameter=ls  
变成:  
http://www.chedong.com/phpman.php/man/ls  
 
 
     
   
top    
   
 回复人:  xuzuning(唠叨)  (  )  信誉:492    2003-12-19  8:45:11    得分:20    
   
   
     
http://www.chedong.com/phpman.php/man/ls  
 
phpman.php为前述代码,则会显示  
array  (  
   [0]  =>  man  
   [1]  =>  ls  
)  
 
你不测试一下吗?  
 
 
     
   
top    
   
 回复人:  jxyuhua(好好学习,天天进步!)  (  )  信誉:99    2003-12-19  19:08:35    得分:0    
   
   
     
老大,我试了:在本地建一文件demo.php,内容同上,  
然后在浏览器中:  
http://localhost/websamples/demo.php/man/ls  
出错,提示说找不到网页  
然后我又这样试:  
http://localhost/websamples/demo.php?mode=man&parameter=ls  
运行结果如下:  
array  (  [0]  =>  websamples  [1]  =>  demo.php  )    
========================================================  
是我的方法不对吗?  
 
     
   
top    
   
 回复人:  xuzuning(唠叨)  (  )  信誉:492    2003-12-20  15:42:04    得分:0    
   
   
     
"出错提示说找不到网页"——你是用apache做web服务器的吗?  
 
     
   
top    
   
 回复人:  jxyuhua(好好学习,天天进步!)  (  )  信誉:99    2003-12-22  8:55:32    得分:0    
   
   
     
是的,apache2  
 
     
   
top    
   
 回复人:  xuzuning(唠叨)  (  )  信誉:492    2003-12-23  10:22:27    得分:0    
   
   
     
我的是apache1.3.24,取默认设置  
至于apache2应如何设置,在你提供的文档中已经说的很清楚了  
 
 
     
   
top    
   
 回复人:  nth(子蓝)  (  )  信誉:100    2003-12-23  11:02:31    得分:0    
   
   
     
我不喜欢轻易的去改变默认apache的设置,  因为我觉得这样不利于我的程序移植。  我更愿意用重定向的技术来实现这个需求。  
 
     


编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:正则表达式的问题,重谢!
下一篇:如何用php获得当前网页的url
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
最新更新 热点排行 推荐新闻
我在windows  xp上安装apache2.044+ph
apache+php,怎样打开session支持??
在linux中怎么配置pdflib和php  高分!
怎么样同时解释.php和.php3的文件呀,
php 4.1.0 及以后版本使用post变量的接
我的qq被盗走的原因分析
webqq好玩不?大鸟带你一起体验
奇奇怪怪的qq密技十五招
qq被盗到出售过程详解
微软winxp sp3再次跳票 推至08年发布
google苹果合作浏览器 防恶意网站
微软操作系统实现开源?
网管应当如何管理windows操作系统?
让windows xp系统锁定期间拒绝关机
windowsvista中文版11月30日正式发布
我在windows  xp上安装apache2.044+ph
php 在linux 下如何開啟ftp功能
apache2-win32+php的成功安装方法
怎么删除mysql???
apache+php,怎样打开session支持??
合并vcd片断、快速删除文件夹--dos命令
dos教程 dos命令基础应用
破解qq密码如此简单 
低格、分区、高格的应对--dos命令应用
一劳永逸--批处理命令(一)
qq2006 beta3隆重发布 实用功能一一奉
美国微软总部相中重庆15岁网络奇才(图
qq号码激活的常见问题及案例分析 
sql server安装文件挂起错误解决办法
三分钟让你的系统变处女:acronis tru
exeplorer.exe错误的问题的总结、解决
我的qq被盗走的原因分析
webqq好玩不?大鸟带你一起体验
奇奇怪怪的qq密技十五招
qq被盗到出售过程详解
google苹果合作浏览器 防恶意网站
网管应当如何管理windows操作系统?
让windows xp系统锁定期间拒绝关机
windowsvista中文版11月30日正式发布
google优化网站管理员指导方针
hilltop算法- 探索google排名新算法

设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
copyrights © 2004-2006 iyit.net all rights reserved.
网站合作、广告联系qq:147007642、466949678
易特网络技术 点击这里给我发消息