Maison >développement back-end >tutoriel php >Qu'est-ce que le pseudo-statique ? Introduction à trois méthodes pour implémenter le pseudo-statique en PHP

Qu'est-ce que le pseudo-statique ? Introduction à trois méthodes pour implémenter le pseudo-statique en PHP

零下一度
零下一度original
2017-07-26 16:01:0511601parcourir

Le pseudo-statique est relatif au réel statique. Habituellement, afin d'améliorer la convivialité des moteurs de recherche, nous générons des pages statiques à partir du contenu de l'article, mais certains amis souhaitent afficher certaines informations en temps réel. Ou vous souhaitez également utiliser des scripts dynamiques pour résoudre certains problèmes. Le contenu du site Web ne peut pas être affiché de manière statique. Mais cela perd en convivialité pour les moteurs de recherche. Comment trouver une méthode intermédiaire entre les deux, qui a donné naissance à une technologie pseudo-statique. Ce qui est affiché est une page statique telle que HTML, mais elle est en réalité traitée à l'aide de scripts dynamiques tels que ASP.

Pseudo-statique aka : réécriture d'URL

Principalement pour le référencement. (Qu'est-ce que le SEO ? Ne me demandez pas ça. Haha~ Ceux qui travaillent sur Internet ne comprennent pas le SEO~~~~)

Méthode 1 :

Par exemple, cette page

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

En fait, le script en cours de traitement est soft.php et le paramètre est 1,100,8630

Équivalent à soft.php?a=1&b=1=100&c=8630, mais cette URL est trop difficile à retenir. Les moteurs de recherche ne l’aiment pas non plus.

Le vrai statique est simplement du HTML entièrement généré.

Sortie directe lorsque le client accède. Pas besoin d'explication de script. Il donnera de très bons résultats lorsque le trafic est très important (par exemple lorsqu'il y a des millions de visites chaque jour). En d’autres termes, cette page HTML existe réellement côté serveur.

Bien sûr, lorsque le trafic de votre site Web n’est pas si important. La réécriture d'URL est la meilleure méthode (à mon avis, vous pouvez envisager un équilibrage de charge lorsqu'il y a un trafic important. Cela n'a pas d'importance non plus)

Il existe de nombreuses méthodes de réécriture d'URL, notamment APACHE et IISREWRITE. Même les scripts PHP peuvent le gérer directement. Par exemple, dans l'exemple ci-dessus, il est traité directement par le script PHP (l'avantage de cette méthode est qu'elle réduit directement la pression sur le serveur WEB lorsqu'il y a un trafic important. PS : C'est aussi un avis personnel :

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

Prenons un programme comme exemple pour parler de la méthode d'implémentation de programme pseudo-statique PHP. En fait, j'ai déjà publié cette méthode dans d'autres communautés de forum

. Prenons le programme comme exemple :

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

CODE :

//Utilisez la variable serveur pour obtenir les informations PATH_INFO. Dans cet exemple, il s'agit de /1,100,8630.html, qui est la partie après le nom du script d'exécution

. si (@$path_info =$_SERVER["PATH_INFO"]){

//Faire régulièrement correspondre les paramètres

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


//C'est aussi simple que cela. ~)

Méthode 2 :

1. Ouvrez le fichier de configuration Apache httpd.conf.

2. Supprimez le # devant #LoadModule rewrite_module modules/mod_rewrite

3. Ajoutez :

<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

à httpd.conf 5. Enregistrez httpd.conf et redémarrez Apache

Méthode 3 :

<?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/*

Fonction : Implémentation d'une page pseudo-statique PHP
Utilisation spécifique :
Par exemple, le lien est : 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;?>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn