Maison  >  Article  >  développement back-end  >  Comment faire un traitement pseudo-statique en php

Comment faire un traitement pseudo-statique en php

(*-*)浩
(*-*)浩original
2019-09-19 10:30:164741parcourir

Qu'est-ce que le pseudo-statique :

Comment faire un traitement pseudo-statique en php

Les sites Web sont divisés en sites Web dynamiques et sites Web statiques. Nos sites Web courants se terminant par html sont généralement des pages statiques. , les pages se terminant par .php.asp sont généralement des sites Web dynamiques. Les sites Web dynamiques sont appelés sites Web dynamiques lorsqu'ils interagissent avec la base de données. Les sites Web dynamiques ne sont pas facilement indexés par les moteurs de recherche. (Apprentissage recommandé : Programmation PHP de l'entrée à la maîtrise)

Pseudo-statique, comme son nom l'indique, est un faux site Web statique, en d'autres termes, afin de faciliter l'inclusion de la recherche. moteurs, les sites Web dynamiques sont implémentés à l’aide de la réécriture du serveur. Faux processus statique.

Alors, combien de façons existe-t-il d'implémenter le pseudo-statique en PHP ?

1. Utilisez les règles de réécriture d'URL d'Apache Tout le monde le sait. Il est configuré dans Apache. Tous les étudiants ici l'ont fait. Je ne liste qu'une configuration simple.

RewriteEngine On
RewriteRule ^/test.html index.php?controller=index&action=test [L]

2.

Utilisez pathinfo de PHP , avez-vous vu des sites Web faire cela www.xxx.com/index.php/c/index/a/test/id/100', bien sûr ? pour cela, vous devez définir le paramètre

'cgi.fix_pathinfo' dans 'php.ini' sur 1. Prenez 'www.xxx.com/index.php/c/index/a/test/id/100' comme exemple

echo $_SERVER['PATH_INFO']; //输出'/c/index/a/test/id/100'

À ce stade, vous devriez le comprendre. Vous pouvez analyser ce paragraphe et l'attribuer. it. Adresse réelle

3.

Utilisez le mécanisme 404 Généralement, les pages pseudo-statiques sont des pages qui n'existent pas réellement, vous pouvez donc utiliser la configuration Apache 404, mais il y a quelques problèmes. , qui sont du type 'post' La demande sera abandonnée, ce qui vous empêchera d'obtenir '$_POST',

mais '$_GET' peut toujours être obtenu, en supposant que la page 404 ici est '404page.php', la configuration d'Apache est la suivante :

ErrorDocument 404 /404page.php

Puis intégrez le code suivant dans '404page.php'

header("HTTP/1.1 200 OK"); //这里一定要有,不然状态就是404

$reqUrl = $_SERVER['REQUEST_URI']; // 请求地址

/**
* 从URL中解析参数
*/
function parseUrlParams($queryUrl)
{
    $arr = explode('?', $queryUrl);
    parse_str($arr[1], $param);
    if($param)
    {
        foreach($param as $key => $value)
        {
            $_GET[$key] = $value;
        }
    }
}

parseUrlParams($reqUrl); // url解析参数

//然后你就可以使用 $reqUrl 根据自己的规则匹配不同的实际请求地址
if(preg_match('#^/test.html#is', $reqUrl, $matches))
{
   include('index.php');
   die();
}

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