What is Pseudo-Static state? Three methods to implement PHP pseudo-static

Pseudo-static is relative to real static. Usually, in order to enhance the friendliness of search engines, we generate static pages for the content of articles, but some friends display some information in real time. Or also want to use dynamic scripting to solve some problems. Website content cannot be displayed in a static manner. But this loses the friendly side to search engines. How to find an intermediate method between the two, which leads to pseudo-static technology. It is displayed in the form of static pages such as html, but it is actually handled by dynamic scripts such as ASP.

 

Pseudo-Static aka: URL Rewriting 

Mainly for SEO. (What is SEO? Don’t ask me about this. Haha~ Those who are engaged in the Internet don’t understand SEO then~~~~~)

method one:

such as this page

/soft.php/1,100,8630.html

In fact, the script processed is soft.php parameter is 1,100,8630

Equivalent to soft.php?a=1&b=1=100&c=8630 but such a 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 script interpretation. When the traffic is very large (such as when there are millions of visits per day), it will work very well. That is to say, the HTML page actually exists on the server side.

Of course when your website traffic is not that large. URL rewriting is the best method (personal opinion, load balancing can be considered when there is a lot of traffic. It doesn't matter too)

There are many ways to attach URL rewriting, APACHE, IISREWRITE. Even PHP scripts can handle it directly. For example, in the above example, the PHP script is directly processed (the advantage of this method is to directly reduce the pressure on the WEB server when there is a large traffic. PS: It is also a personal opinion:

================================================

Let's take the program as an example to talk about the implementation method of PHP pseudo-static program. In fact, I have already posted this method in other forums and communities before.

Program example:

/soft.php/1,100,8630.html

CODE:

//Use the server variable to obtain 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"]){

//regularly match the parameters

1
2
3
4
5
6
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


// That's it. ~)

Method Two:

1. Open the Apache configuration file httpd.conf.

Second, remove the # in front of #LoadModule rewrite_module modules/mod_rewrite

Three add in httpd.conf:

1
2
3
<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

5. Save httpd.conf and restart Apache

Method three:

1
2
3
<?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
:
For example, the link is: test.php/year/2006/action/_add.html

1
2
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 what is pseudo static? For the details of the three methods of implementing PHP pseudo-static, please pay attention to other related articles on php Chinese website for more details!

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325008721&siteId=291194637