Home  >  Article  >  Backend Development  >  What is Pseudo-Static state? Introduction to three methods to implement pseudo-static in PHP

What is Pseudo-Static state? Introduction to three methods to implement pseudo-static in PHP

零下一度
零下一度Original
2017-07-26 16:01:0511560browse

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"];//结果为&#39;2006&#39;$action=$_GET["action"];//结果为&#39;_add&#39;
*/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"];//结果为&#39;2006&#39;$action=$_GET["action"];//结果为&#39;_add&#39;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"];//结果为&#39;2006&#39;$action=$_GET["action"];//结果为&#39;_add&#39;
*/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"];//结果为&#39;2006&#39;$action=$_GET["action"];//结果为&#39;_add&#39;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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn