Home >Backend Development >PHP Tutorial >What is Pseudo-Static state? Introduction to three methods to implement pseudo-static in PHP
Pseudo-static is relative to real static. Usually, in order to enhance the friendliness of search engines, we generate static pages from article content, but some friends want to display some information in real time. Or you want to use dynamic scripts to solve some problems. Website content cannot be displayed in a static manner. But this loses the friendliness to search engines. How to find a middle method between the two, which gave rise to pseudo-static technology. What is displayed is a static page such as HTML, but it is actually processed using dynamic scripts such as ASP.
Pseudo-static aka: URL rewriting
Mainly for SEO. (What is SEO? You don’t have to ask me this. Haha~ Those who work on the Internet don’t understand SEO~~~~)
method one:
For example, this page
/soft.php/1,100,8630.html
In fact, the script being processed is soft.php and the parameter is 1,100,8630
Equivalent to soft.php?a=1&b=1=100&c=8630, but this URL is too difficult to remember. Search engines don’t like it either.
True static is just fully generated HTML.
Direct output when the client accesses. No need for script explanation. It will have very good results when the traffic is very large (such as when there are millions of visits every day). In other words, this HTML page actually exists on the server side.
Of course, when the traffic of your website is not that large. URL rewriting is the best method (in my personal opinion, load balancing can be considered when there is heavy traffic. It doesn’t matter either)
There are many methods for URL rewriting, including APACHE and IISREWRITE. Even PHP scripts can handle it directly. For example, in the above example, the PHP script handles it directly (the advantage of this method is that it directly reduces the pressure on the WEB server when there is a large amount of traffic. PS: This is also a personal opinion:
================================================
Let's take a program as an example to talk about the PHP pseudo-static program implementation method. In fact, I have posted this method in other forum communities before
Take the program as an example:
/soft.php/1,100,8630.html
CODE:
//Use the server variable to obtain the PATH_INFO information. In this example, it is /1,100,8630.html, which is the part after the execution script name
if(@$path_info =$_SERVER["PATH_INFO"]){
//Regular match parameters
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
//It's that simple. ~)
Method Two:
1. Open the Apache configuration file httpd.conf.
2. Remove
in front of #LoadModule rewrite_module modules/mod_rewrite 3. Add:
<IfModule mod_rewrite.c>RewriteEngine On#RewriteCond %{ENV:SCRIPT_URL} (?:index|dispbbs)[-0-9]+.htmlRewriteRule ^(.*?(?:index|dispbbs))-([-0-9]+).html 1.php?__is_apache_rewrite=1&__rewrite_arg=2</IfModule> 四 要实现asp帖子URL到php帖子的映射,在 第三步的<IfModule mod_rewrite.c>和</IfModule>之间添加: RewriteMap tolowercase int:tolowerRewriteCond %{QUERY_STRING} (?:boardid|page|id|replyid|star|skin)=d+ [NC]RewriteRule ^(.*(?:index|dispbbs)).asp 1.php?{tolowercase:%{QUERY_STRING}}&__is_apache_rewrite=1
to httpd.conf 5. Save httpd.conf and restart Apache
Method three:
<?php/*功能:PHP伪静态化页面的实现具体用法:例如链接为:test.php/year/2006/action/_add.htmlmod_rewrite();$yearn=$_GET["year"];//结果为'2006'$action=$_GET["action"];//结果为'_add' */function mod_rewrite(){global $_GET;$nav=$_SERVER["REQUEST_URI"];$script_name=$_SERVER["SCRIPT_NAME"];$nav=substr(ereg_replace("^$script_name","",urldecode($nav)),1);$nav=preg_replace("/^.ht(m){1}(l){0,1}$/","",$nav);//这句是去掉尾部的.html或.htm$vars = explode("/",$nav);for($i=0;$i<Count($vars);$i+=2){$_GET["$vars[$i]"]=$vars[$i+1];}return $_GET;}mod_rewrite();$yearn=$_GET["year"];//结果为'2006'$action=$_GET["action"];//结果为'_add'echo $yearn;echo $action;?> <?php/*
Function: Implementation of PHP pseudo-static page
Specific usage:
For example, the link is: test.php/year/2006/action/_add.html
mod_rewrite();$yearn=$_GET["year"];//结果为'2006'$action=$_GET["action"];//结果为'_add' */function mod_rewrite(){global $_GET;$nav=$_SERVER["REQUEST_URI"];$script_name=$_SERVER["SCRIPT_NAME"];$nav=substr(ereg_replace("^$script_name","",urldecode($nav)),1);$nav=preg_replace("/^.ht(m){1}(l){0,1}$/","",$nav);//这句是去掉尾部的.html或.htm$vars = explode("/",$nav);for($i=0;$i<Count($vars);$i+=2){$_GET["$vars[$i]"]=$vars[$i+1];}return $_GET;}mod_rewrite();$yearn=$_GET["year"];//结果为'2006'$action=$_GET["action"];//结果为'_add'echo $yearn;echo $action;?>
The above is the detailed content of What is Pseudo-Static state? Introduction to three methods to implement pseudo-static in PHP. For more information, please follow other related articles on the PHP Chinese website!