Heim > Artikel > Backend-Entwicklung > Drei Methoden zur Implementierung pseudostatischer Seiten in PHP
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"];//结果为'2006' $action=$_GET["action"];//结果为'_add' */ 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"];//结果为'2006' $action=$_GET["action"];//结果为'_add' echo $yearn; echo $action; ?>
<?php /* 功能:PHP伪静态化页面的实现 具体用法: 例如链接为:test.php/year/2006/action/_add.html mod_rewrite(); $yearn=$_GET["year"];//结果为'2006' $action=$_GET["action"];//结果为'_add' */ 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"];//结果为'2006' $action=$_GET["action"];//结果为'_add' echo $yearn; echo $action; ?>