Heim  >  Artikel  >  Backend-Entwicklung  >  Analysieren Sie die Implementierungsmethode basierend auf PHP Pseudostatik

Analysieren Sie die Implementierungsmethode basierend auf PHP Pseudostatik

coldplay.xixi
coldplay.xixinach vorne
2020-08-04 16:05:012586Durchsuche

Analysieren Sie die Implementierungsmethode basierend auf PHP Pseudostatik

hat während des Entwicklungsprozesses schon lange von dem Begriff „pseudostatisch“ gehört. Aber es wurde nie verstanden.

Ich habe heute endlich die Entscheidung getroffen, diesen Aspekt gut zu verstehen.

Zuallererst, was pseudostatisch ist:

Pseudostatisch, auch bekannt als URL-Rewriting, ist eine dynamische URL, die wie eine statische URL aussieht. Mit anderen Worten, dynamische Webseiten entfernen die Parameter dynamischer Webseiten durch Umschreiben der URL-Methode, es besteht jedoch keine Notwendigkeit, umgeschriebene Seiten im tatsächlichen Webseitenverzeichnis zu implementieren.

Zusätzlich zwei Substantive hinzufügen, die parsen

Statische URL: reines statisches HTML-Dokument, Webseite, die mit Dateityp:htm abgefragt werden kann

Dynamische URL: Der Inhalt wird im gespeichert Datenbank, zeigt den Inhalt entsprechend den Anforderungen an, die URL beginnt mit? # & Verschiedene Parameter anzeigen, z. B.: news.php? lang=cn&class=1&id=2

Verwandte Lernempfehlungen: PHP-Programmierung vom Einstieg bis zum Master

Dynamisch, statisch , Vor- und Nachteile zwischen pseudostatischen (neuen)

Dynamischen URLs

Zuallererst sind dynamische URLs derzeit für Google „nicht möglich“. Die Aussage „gecrawlt“ ist falsch. Google kann dynamische URLs sehr gut verarbeiten und sie reibungslos crawlen. Zweitens ist die Aussage „Parameter dürfen nicht größer als 3 sein“ falsch Um zu vermeiden, dass die URL zu lang wird, sollten die Parameter so weit wie möglich reduziert werden.

Zweitens haben dynamische URLs bestimmte Vorteile, wie oben erwähnt, news.php? lang=cn&class=1&id=2 Die Parameter in der URL sagen Google beispielsweise genau, dass die Inhaltssprache dieser URL cn ist, sie zur Kategorie 1 gehört und die Inhalts-ID 2 ist, was es für Google einfacher macht, sie zu identifizieren den Inhalt verarbeiten.

Schließlich sollten dynamische URLs so prägnant wie möglich sein, insbesondere die Parameter für die Sitzungskennung (sid) und die Abfrage (query), was leicht zu einer großen Anzahl identischer Seiten führen kann.

Statische URL

Der absolute Vorteil der statischen URL ist, dass /product/nokia/n95.html und /about.html leicht zu verstehen sind verstanden, was zu einer relativ hohen Anzahl an Klicks in den Suchergebnissen führen kann.

Zweitens sind statische URLs möglicherweise nicht die beste Form von URLs. Wie oben erwähnt, können dynamische URLs Google einige Parameter mitteilen, die jedoch erkannt werden können (Beispiel: zu flach), Platzieren aller HTML-Dokumente im Stammverzeichnis) und anderen Faktoren ist es nicht so reich an Referenzinformationen wie statische URLs für Google.

Abschließend: Glaubt Le Sishu, dass in Googles Artikel eine versteckte Bedeutung steckt? „Das Aktualisieren von Seiten mit dieser Art von URL kann zeitaufwändig sein, insbesondere wenn die Informationsmenge schnell wächst, da der Kompilierungscode für jede einzelne Seite geändert werden muss, ist dies auch im Google-System der Fall.“ ? Gibt es ein solches Problem?

Pseudostatische URL

Zuallererst können pseudostatische URLs dynamische URLs nicht „statisch“ machen. Pseudostatische URLs sind lediglich eine Umschreibung dynamischer URLs. Google wird Pseudostatik nicht als HTML-Dokument betrachten.

Zweitens ist Pseudostatik wünschenswert, aber der Schwerpunkt sollte auf der Entfernung redundanter Parameter, der Standardisierung von URLs und der weitestgehenden Vermeidung doppelter Seiten liegen.

Schließlich birgt Pseudostatik große potenzielle Gefahren. Es ist am besten, sie zu verwenden, wenn Sie mit dem Website-System, der Website-Struktur, der Inhaltsverteilung und der Parameterbedeutung vertraut sind.

Wenn Sie pseudostatische Regeln schreiben, sollten Sie wertvolle Parameter beibehalten und nicht alle wertvollen Parameter rationalisieren, wie zum Beispiel news.php im vorherigen Beispiel? lang=cn&class=1&id=2 sollte besser als news-cn-class1-id2.html umgeschrieben werden, statt übermäßig prägnant und als news-2.html umgeschrieben zu werden.

Außerdem darf die Pseudostatik keine Sitzungs-ID (Sid) und Abfrageparameter (Query) enthalten, /product.asp? Bei einer dynamischen URL wie sid=98971298178906&id=1234 wird die darin enthaltene SID ursprünglich von Google erkannt und blockiert. Wenn sie jedoch in /product/98971298178906/1234 umgeschrieben wird, kann Google sie nicht nur nicht erkennen, sondern auch verursachen unbegrenzte doppelte Seiten auf der gesamten Website (bei jeder Sitzung wird eine neue Sitzungs-ID generiert).

Sollten wir Pseudostatik oder echte Statik wählen?

1. Es gibt keinen Unterschied zwischen der Verwendung von echter Statik und falscher Statik für SEO

2. Die Verwendung von echter Statik kann zu Problemen führen Festplattenschaden Der Schaden beeinträchtigt die Leistung des Forums

3. Die Verwendung von Pseudostatik wird einen bestimmten Teil der CPU-Auslastung in Anspruch nehmen, und eine starke Nutzung führt zu einer CPU-Überlastung

4. Der wichtigste Punkt ist, dass wir brauche static Für SEO

Also:

1. Die Verwendung einer echten statischen Methode kann direkt eliminiert werden, da sie unabhängig von ihrer Generierung sehr schädlich für die Festplatte ist.

 2. Da die Auswirkungen von wahrer und falscher Statik gleich sind, können wir Pseudostatik wählen.

3. Die übermäßige Verwendung von Pseudostatik führt jedoch zu einer CPU-Überlastung.

4. Solange wir es nicht in großen Mengen verwenden, ist es in Ordnung.

5. Da Static nur für SEO gedacht ist, benötigen wir für SEO nur Pseudostatik und es besteht für Benutzer keine Notwendigkeit, es zu verwenden.

6. Daher müssen wir im speziell für SEO-Crawling bereitgestellten Archiver nur Pseudostatik verwenden.

 7. Vielen Dank an alle für eure Geduld beim Lesen meines Artikels.

8. Wenn Sie Fragen haben oder unterschiedliche Meinungen haben, kommentieren Sie bitte

zu Pseudostatik und echter Statik.

Es gibt immer noch einen wesentlichen Unterschied zwischen echter Statik und Pseudostatik . Die Verarbeitung von reinem HTML für durchsuchende Benutzer und PHP, das mehrere Daten aufruft, erfordert deutlich weniger CPU-Auslastung als ersteres. Ich erinnere mich, dass jemand einmal gesagt hat, dass die Festplatte beim Herunterladen von HTML häufig gelesen und beschrieben wird. Er sagte, das Lesen und Schreiben auf die Festplatte sei nicht erforderlich. Darüber hinaus gibt es viele zwischengespeicherte verstreute PHP-Dateien Sind für diese Lesevorgänge keine Festplattenoperationen erforderlich? lächerlich.

Der Zweck kann erreicht werden, indem ein einzelnes HTML + Bild-Flash und andere Anhänge gelesen werden. Warum sollte man sich die Mühe machen, die Datenbank zu lesen, die PHP-Cache-Datei zu lesen, die Datenausgabe erneut zu integrieren und dann Bild-Flash und andere Anhänge hinzuzufügen? ? So viel Ärger? Die CMS-Homepage erfordert keine große Interaktion und die Forum-Version sollte hier nicht verwendet werden. Im Gegenteil, es sollte mehr darauf geachtet werden: Schönheit! kompatibel! Intuitive Informationen! Leistung! Und Stabilität!

Vier Möglichkeiten, Pseudostatik in PHP zu implementieren:

 <?php
 //伪静态方法一
 
 // localhost/php100/test.php?id|1@action|2
 $Php2Html_FileUrl = $_SERVER["REQUEST_URI"];
 echo $Php2Html_FileUrl."<br>";// /php100/test.php?id|1@action|2
 $Php2Html_UrlString = str_replace("?","",str_replace("/", "", strrchr(strrchr($Php2Html_FileUrl, "/"),"?")));
 echo $Php2Html_UrlString."<br>";// id|1@action|2
 $Php2Html_UrlQueryStrList = explode("@", $Php2Html_UrlString);
 print_r($Php2Html_UrlQueryStrList);// Array ( [0] => id|1 [1] => action|2 )
 echo "<br>";
 foreach($Php2Html_UrlQueryStrList as $Php2Html_UrlQueryStr)
 {
 $Php2Html_TmpArray = explode("|", $Php2Html_UrlQueryStr);
 print_r($Php2Html_TmpArray);// Array ( [0] => id [1] => 1 ) ; Array ( [0] => action [1] => 2 )
 echo "<br>";
 $_GET[$Php2Html_TmpArray[0]] = $Php2Html_TmpArray[1];
 }
 //echo &#39;假静态:$_GET变量<br />&#39;;
 print_r($_GET); // Array ( [id|1@action|2] => [id] => 1 [action] => 2 )
 echo "<br>";
 echo "<hr>";
 echo $_GET[id]."<br>";// 1
 echo $_GET[action];// 2
 ?>
 <?php
 //伪静态方法二
 
 // localhost/php100/test.php/1/2
 $filename = basename($_SERVER[&#39;SCRIPT_NAME&#39;]);
 echo $_SERVER[&#39;SCRIPT_NAME&#39;]."<br>";// /php100/test.php
 echo $filename."<br>";// test.php
 
 if(strtolower($filename)==&#39;test.php&#39;){
 if(!empty($_GET[id])){
 $id=intval($_GET[id]);
 echo $id."<br>";
 $action=intval($_GET[action]);
 echo $action."<br>";
 }else{
 $nav=$_SERVER[&#39;REQUEST_URI&#39;];
 echo "1:".$nav."<br>";// /php100/test.php/1/2
 $script=$_SERVER[&#39;SCRIPT_NAME&#39;];
 echo "2:".$script."<br>";// /php100/test.php
 $nav=ereg_replace("^$script","",urldecode($nav));
 echo $nav."<br>"; // /1/2
 $vars=explode("/",$nav);
 print_r($vars);// Array ( [0] => [1] => 1 [2] => 2 )
 echo "<br>";
 $id=intval($vars[1]);
 $action=intval($vars[2]);
 }
 echo $id.&#39;&&#39;.$action;
 }
 ?>
<?php
 //伪静态方法三 
 function mod_rewrite(){
 global $_GET;
 $nav=$_SERVER["REQUEST_URI"];
 echo $nav."<br>";
 $script_name=$_SERVER["SCRIPT_NAME"];
echo $script_name."<br>";
$nav=substr(ereg_replace("^$script_name","",urldecode($nav)),1);
echo $nav."<br>";
$nav=preg_replace("/^.ht(m){1}(l){0,1}$/","",$nav);//这句是去掉尾部的.html或.htm
echo $nav."<br>";
$vars = explode("/",$nav);
print_r($vars);
echo "<br>";
for($i=0;$i<Count($vars);$i+=2){
$_GET["$vars[$i]"]=$vars[$i+1];
}
return $_GET;
 }
 mod_rewrite();
 $year=$_GET["year"];//结果为&#39;2006&#39;
 echo $year."<br>";
$action=$_GET["action"];//结果为&#39;_add&#39;
 echo $action;
 ?>
 <?php
 //伪静态方法四
 
 //利用server变量 取得PATH_INFO信息 该例中为 /1,100,8630.html 也就是执行脚本名后面的部分
 if(@$path_info =$_SERVER["PATH_INFO"]){
 //正则匹配一下参数
 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
}else die(&#39;Path:Nothing!&#39;);
?>

Wenn Sie PHP nicht zur Implementierung von Pseudostatik verwenden möchten, können Sie die url rewrite-Funktion verwenden, die mit Servern geliefert wird wie Apache, Nginx und IIS eingerichtet.

Das obige ist der detaillierte Inhalt vonAnalysieren Sie die Implementierungsmethode basierend auf PHP Pseudostatik. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen