Heim  >  Artikel  >  Backend-Entwicklung  >  Drei Methoden zur Implementierung pseudostatischer Seiten in PHP

Drei Methoden zur Implementierung pseudostatischer Seiten in PHP

巴扎黑
巴扎黑Original
2016-11-24 14:08:291504Durchsuche

Pseudostatische PHP-Schreibmethode – eine

Pseudostatisch ist auch bekannt als: URL-Rewriting

Hauptsächlich für SEO. (Was ist SEO? Fragen Sie mich nicht danach. Haha~ Wer im Internet arbeitet, versteht SEO nicht~~~~)

Methode 1:

Zum Beispiel dies Webseite

http://www.2cto.com /soft.php/1,100,8630.html

Tatsächlich ist das verarbeitete Skript soft.php und der Parameter ist 1.100.8630

Entspricht es soft.php? a=1&b=1=100&c=8630 Aber eine solche URL ist zu schwer zu merken. Suchmaschinen mögen es auch nicht.

Echtes Static ist einfach vollständig generiertes HTML.

Ausgabe direkt beim Client-Zugriff. Es ist keine Skripterklärung erforderlich. Es wird sehr gute Ergebnisse liefern, wenn der Datenverkehr sehr groß ist (z. B. wenn es täglich Millionen von Besuchen gibt). Mit anderen Worten: Diese HTML-Seite existiert tatsächlich auf der Serverseite.

Natürlich, wenn der Traffic auf Ihrer Website nicht so groß ist. Das Umschreiben von URLs ist die beste Methode (meiner persönlichen Meinung nach kann ein Lastausgleich bei starkem Datenverkehr in Betracht gezogen werden. Das spielt auch keine Rolle)

Es gibt viele Methoden zum Umschreiben von URLs, einschließlich APACHE und IISREWRITE. Sogar PHP-Skripte können damit direkt umgehen. Im obigen Beispiel wird es beispielsweise direkt vom PHP-Skript verarbeitet (der Vorteil dieser Methode besteht darin, dass sie bei großem Datenverkehr direkt den Druck auf den WEB-Server verringert. PS: Dies ist auch eine persönliche Meinung :

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

Nehmen wir die Methode zur Implementierung eines pseudostatischen PHP-Programms. Tatsächlich habe ich diese Methode bereits in anderen Forum-Communitys gepostet

Programmbeispiel:

http://www.2cto.com /soft.php /1,100,8630.html

CODE:

//Verwenden Sie die Servervariable, um die PATH_INFO-Informationen zu erhalten. In diesem Beispiel ist es /1,100,8630.html, das ist der Teil nach dem Namen des Ausführungsskripts

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

/ /Reguläre Übereinstimmungsparameter

if(preg_match("//(d+),(d+), (d+).html/si",$path_info,$arr_path)){

$gid =intval($arr_path[1]); //Wert 1 abrufen

$sid =intval ($arr_path[2]); //Wert 100 abrufen

$softid =intval( $arr_path[3]); //Wert 8630 abrufen

}else die("Path:Error !"

//Entspricht soft.php?gid=1&sid=100&softid =8630


//So einfach ist das.~)

Methode Zwei:

Öffnen Sie die Apache-Konfigurationsdatei httpd.conf.

2. Entfernen Sie das # vor #LoadModule rewrite_modules/mod_rewrite

3. Fügen Sie httpd.conf hinzu:

85ac288f8cdf15251785b7af9467eee6 RewriteEngine On
#RewriteCond %{ENV:SCRIPT_URL} (?:index|dispbbs)[-0-9]+.html
RewriteRule ^(.*?(?:index|dispbbs))-([- 0- 9]+).html 1.php?__is_apache_rewrite=1&__rewrite_arg=2
dd044cc958725ff01539a3d0fb3f0041 und 2071f931c9870be1bebed0bdda8305e7 hinzufügen:

RewriteMap tolowercase int:tolower
RewriteCond %{QUERY_STRING} (?:boardid|page|id|replyid|star|skin) =d+ [ NC]
RewriteRule ^(.*(?:index|dispbbs)).asp 1.php?{tolowercase:%{QUERY_STRING}}&__is_apache_rewrite=1

5. Speichern Sie httpd.conf und starten Sie Apache neu

Methode 3:


   <?php 
    /* 
    功能:PHP伪静态化页面的实现 
    具体用法: 
    例如链接为: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; 
    ?>


 <?php 
    /* 
    功能:PHP伪静态化页面的实现 
    具体用法: 
    例如链接为: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; 
    ?>


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP-Boolescher Typ (Boolean)Nächster Artikel:PHP-Boolescher Typ (Boolean)