Home > Article > Backend Development > How to write php pseudo-static (apache pseudo-static rules)_PHP tutorial
In php, if we want to make pseudo-static, we can directly use php to process the URL. However, this kind of pseudo-static is not standard and can be said to look like parallel imports. It is just to find a place that makes you feel comfortable. Of course, if you want to achieve real pseudo-static We can use the apache Rewrite pseudo-static module for static examples. Let’s take a look.
The PHP program implements pseudo-static URL as follows.
代码如下 | 复制代码 |
//伪静态方法一 "; echo $_GET[id]." ";// 1 echo $_GET[action];// 2 ?> //伪静态方法二 // localhost/php100/test.php/1/2 $filename = basename($_SERVER['SCRIPT_NAME']); echo $_SERVER['SCRIPT_NAME']." ";// /php100/test.php echo $filename." ";// test.php if(strtolower($filename)=='test.php'){ if(!empty($_GET[id])){ $id=intval($_GET[id]); echo $id." "; $action=intval($_GET[action]); echo $action." "; }else{ $nav=$_SERVER['REQUEST_URI']; echo "1:".$nav." ";// /php100/test.php/1/2 $script=$_SERVER['SCRIPT_NAME']; echo "2:".$script." ";// /php100/test.php $nav=ereg_replace("^$script","",urldecode($nav)); echo $nav." "; // /1/2 $vars=explode("/",$nav); print_r($vars);// Array ( [0] => [1] => 1 [2] => 2 ) echo " "; $id=intval($vars[1]); $action=intval($vars[2]); } echo $id.'&'.$action; } ?> //伪静态方法三 function mod_rewrite(){ global $_GET; $nav=$_SERVER["REQUEST_URI"]; echo $nav." "; $script_name=$_SERVER["SCRIPT_NAME"]; echo $script_name." "; $nav=substr(ereg_replace("^$script_name","",urldecode($nav)),1); echo $nav." "; $nav=preg_replace("/^.ht(m){1}(l){0,1}$/","",$nav);//这句是去掉尾部的.html或.htm echo $nav." "; $vars = explode("/",$nav); print_r($vars); echo " "; for($i=0;$i } return $_GET; } mod_rewrite(); $year=$_GET["year"];//结果为'2006' echo $year." "; $action=$_GET["action"];//结果为'_add' echo $action; ?> //伪静态方法四 //利用server变量 取得PATH_INFO信息 该例中为 /1,100,8630.html 也就是执行脚本名后面的部分 if(@$path_info =$_SERVER["PATH_INFO"]){ //正则匹配一下参数 if(preg_match("//(d+),(d+),(d+).html/si",$path_info,$arr_path)){ $gid =intval($arr_path[1]); //取得值 1 $sid =intval($arr_path[2]); //取得值100 $softid =intval($arr_path[3]); //取得值8630 }else die("Path:Error!"); //相当于soft.php?gid=1&sid=100&softid=8630 }else die('Path:Nothing!'); ?> |
If you have server permissions, I think you should use apache%CE%B1%BE%B2%CC%AC/" target="_blank">apache pseudo-static
1. Apache configuration:
Go to the /etc/httpd/conf/ directory and open the httpd.conf file.
Enable rewrite
# LoadModule rewrite_module modules/mod_rewrite.so remove the preceding #
Enable .htaccess
AllowOverride None is modified to: AllowOverride All
2. Rewrite writing method
The server has configuration files that cannot be changed by us, so in most cases we need to create an .htaccess file in the root directory of the website.
The code is as follows
|
Copy code
|
11) QSA append request string
http: //www.bkjia.com/PHPjc/632782.html