求伪静态的 PHP 程序解决方法!! 我说的是在 PHP 程序里解决,不是修改 APACHE 服务器,求解!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 程序必须有个入口文件,然后对url进行处理 .htaccess文件RewriteEngine OnRewriteBase /RewriteRule ^([\d+).html$ news.php?id=$1#这个就是把news.php?id=123这类改成 123.html 如果你非要在PHP程序里搞的话,只能用404跳转了首先你得让这些静态地址访问出404页面来然后404页里用PHP来获取URL地址,根据地址的不同输出不同内容 [PATH_INFO] => /a/b/sd访问:http://192.168.1.10/index.php/a/b/sd 现在的apache默认支持pathinfo。 http://blog.csdn.net/aendo/article/details/5467417这个是ASP的,PHP是没必要这么做的,有更好的办法 - -!我要的是PHP 的方法 2楼正解。PHP 的方法 不知道楼主想要个什么法。 url你是必须得输的,这是第一步,解析url是二步,处理是第三步第一步你必须的输入一个abc.html第二步你再拐弯墨角的把html换为php你将无奈的跳到404你若实在不想换url就通过js来实现,访问的是abc.html可以通过ajax来偷偷嬷嬷跑php那把数据带过来填在里面 如果用 ajax 那样就没意义了,我要实现的是,在 php 程序里的伪静态,也就是说 不需要修改 apache 服务器的任何设置,修改.htaccess文件的话,是否属于修改服务器设置的范畴呢? 四种方法实现PHP伪静态在PHP中我们常常会需要使用伪静态。PHP的伪静态使用主要是为了隐藏传递的参数名,或者隐藏文件的真实路径,这样有利于程序的安全。本文向大家介绍的PHP伪静态实现的四种方法,希望大家能够通过这四种方法进一步加深对PHP伪静态的了解。以下就是全部方法代码: 伪静态方法一 1.// localhost/php100/test.php?id|1@action|2 2.$Php2Html_FileUrl = $_SERVER["REQUEST_URI"]; 3.echo $Php2Html_FileUrl."<br>";// /php100/test.php?id|1@action|2 4.$Php2Html_UrlString = str_replace("?","",str_replace("/", "", strrchr(strrchr($Php2Html_FileUrl, "/"),"?"))); 5.echo $Php2Html_UrlString."<br>";// id|1@action|2 6.$Php2Html_UrlQueryStrList = explode("@", $Php2Html_UrlString); 7.print_r($Php2Html_UrlQueryStrList);// Array ( [0] => id|1 [1] => action|2 ) 8.echo "<br>"; 9.foreach($Php2Html_UrlQueryStrList as $Php2Html_UrlQueryStr) 10.{ 11.$Php2Html_TmpArray = explode("|", $Php2Html_UrlQueryStr); 12.print_r($Php2Html_TmpArray);// Array ( [0] => id [1] => 1 ) ; Array ( [0] => action [1] => 2 ) 13.echo "<br>"; 14.$_GET[$Php2Html_TmpArray[0]] = $Php2Html_TmpArray[1]; 15.} 16.//echo '假静态:$_GET变量<br />'; 17.print_r($_GET); // Array ( [id|1@action|2] => [id] => 1 [action] => 2 ) 18.echo "<br>"; 19.echo "<hr>"; 20.echo $_GET[id]."<br>";// 1 21.echo $_GET[action];// 2 伪静态方法二 1.// localhost/php100/test.php/1/2 2.$filename = basename($_SERVER['SCRIPT_NAME']); 3.echo $_SERVER['SCRIPT_NAME']."<br>";// /php100/test.php 4.echo $filename."<br>";// test.php 5.if(strtolower($filename)=='test.php'){ 6. if(!empty($_GET[id])){ 7. $id=intval($_GET[id]); 8. echo $id."<br>"; 9. $action=intval($_GET[action]); 10. echo $action."<br>"; 11. }else{ 12. $nav=$_SERVER['REQUEST_URI']; 13. echo "1:".$nav."<br>";// /php100/test.php/1/2 14. $script=$_SERVER['SCRIPT_NAME']; 15. echo "2:".$script."<br>";// /php100/test.php 16. $nav=ereg_replace("^$script","",urldecode($nav)); 17. echo $nav."<br>"; // /1/2 18. $vars=explode("/",$nav); 19. print_r($vars);// Array ( [0] => [1] => 1 [2] => 2 ) 20. echo "<br>"; 21. $id=intval($vars[1]); 22. $action=intval($vars[2]); 23. } 24. echo $id.'&'.$action; 25.} http://www.phpnewer.com/index.php/Tszj/detail/id/435.html 如何使得 /var/www 下的软连接可以被访问 高手求助 PHP判断~!问题!在线等!急 post 提交问题 phplib类中的模板处理问题(包含动态头文件)! 送100分,新开发的论坛,UTSpeed 极速论坛,大家多给些意见。 mysql安装后出现问题 向文件中添加数据还是出问题. 帮忙看这段代码 请教一个php的表单post数组的问题,php页面接收不到数组的值 各位能帮忙解释一下,下面的代码,有些我在帮助里找的到,有的找不到 如何生成“密码重置”那种“一次性链接”
RewriteBase /
RewriteRule ^([\d+).html$ news.php?id=$1
#这个就是把news.php?id=123这类改成 123.html
这个是ASP的,PHP是没必要这么做的,有更好的办法
第一步你必须的输入一个abc.html
第二步你再拐弯墨角的把html换为php
你将无奈的跳到404你若实在不想换url
就通过js来实现,访问的是abc.html
可以通过ajax来偷偷嬷嬷跑php那把数据带过来填在里面
如果用 ajax 那样就没意义了,我要实现的是,在 php 程序里的伪静态,也就是说 不需要修改 apache 服务器的任何设置,修改.htaccess文件的话,是否属于修改服务器设置的范畴呢?
在PHP中我们常常会需要使用伪静态。PHP的伪静态使用主要是为了隐藏传递的参数名,或者隐藏文件的真实路径,这样有利于程序的安全。本文向大家介绍的PHP伪静态实现的四种方法,希望大家能够通过这四种方法进一步加深对PHP伪静态的了解。以下就是全部方法代码: 伪静态方法一 1.// localhost/php100/test.php?id|1@action|2
2.$Php2Html_FileUrl = $_SERVER["REQUEST_URI"];
3.echo $Php2Html_FileUrl."<br>";// /php100/test.php?id|1@action|2
4.$Php2Html_UrlString = str_replace("?","",str_replace("/", "", strrchr(strrchr($Php2Html_FileUrl, "/"),"?")));
5.echo $Php2Html_UrlString."<br>";// id|1@action|2
6.$Php2Html_UrlQueryStrList = explode("@", $Php2Html_UrlString);
7.print_r($Php2Html_UrlQueryStrList);// Array ( [0] => id|1 [1] => action|2 )
8.echo "<br>";
9.foreach($Php2Html_UrlQueryStrList as $Php2Html_UrlQueryStr)
10.{
11.$Php2Html_TmpArray = explode("|", $Php2Html_UrlQueryStr);
12.print_r($Php2Html_TmpArray);// Array ( [0] => id [1] => 1 ) ; Array ( [0] => action [1] => 2 )
13.echo "<br>";
14.$_GET[$Php2Html_TmpArray[0]] = $Php2Html_TmpArray[1];
15.}
16.//echo '假静态:$_GET变量<br />';
17.print_r($_GET); // Array ( [id|1@action|2] => [id] => 1 [action] => 2 )
18.echo "<br>";
19.echo "<hr>";
20.echo $_GET[id]."<br>";// 1
21.echo $_GET[action];// 2
伪静态方法二 1.// localhost/php100/test.php/1/2
2.$filename = basename($_SERVER['SCRIPT_NAME']);
3.echo $_SERVER['SCRIPT_NAME']."<br>";// /php100/test.php
4.echo $filename."<br>";// test.php
5.if(strtolower($filename)=='test.php'){
6. if(!empty($_GET[id])){
7. $id=intval($_GET[id]);
8. echo $id."<br>";
9. $action=intval($_GET[action]);
10. echo $action."<br>";
11. }else{
12. $nav=$_SERVER['REQUEST_URI'];
13. echo "1:".$nav."<br>";// /php100/test.php/1/2
14. $script=$_SERVER['SCRIPT_NAME'];
15. echo "2:".$script."<br>";// /php100/test.php
16. $nav=ereg_replace("^$script","",urldecode($nav));
17. echo $nav."<br>"; // /1/2
18. $vars=explode("/",$nav);
19. print_r($vars);// Array ( [0] => [1] => 1 [2] => 2 )
20. echo "<br>";
21. $id=intval($vars[1]);
22. $action=intval($vars[2]);
23. }
24. echo $id.'&'.$action;
25.}
http://www.phpnewer.com/index.php/Tszj/detail/id/435.html