五,偽靜態技術實現頁面靜態化


 偽靜態技術可以有兩種方法來處理:

1,在php文件中,直接使用正則表達式技術處理;

http://localhost/index.php/2,111,345.html,在index.php文件中會獲取2,111,345.html將其組成新的文件,再跳轉到新的文件即可。

<?php
$parameters = $_SERVER['PATH_INFO'];
if(preg_match('/^\/(\d+),(\d+),(\d+)\.html/si',$parameters,$arr)){
    $file = "http://127.0.0.1/".$arr[1].'-'.$arr[2].'-'.$arr[3].'.html';
    header("Location:".$file);
}else{
    echo '地址出錯!';
}

  

2,配置apache的rewrite機制;

 (1)apache啟用rewrite機制,打開httpd.conf,LoadModule rewrite_module modules/mod_rewrite.so前面的#去掉。

 (2)虛擬主機,在操作系統的hosts文件添加 127.0.0.1 www.hsp.com。

(3)在httpd.conf中啟用虛擬主機,Include conf/extra/httpd-vhosts.conf前面的#去掉。

(4)打開httpd-vhosts.conf文件,

<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "E:/Program Files/AppServ/www/resume"
    ServerName www.hsp.com
    ErrorLog "logs/dummy-host2.example.com-error.log"
#    CustomLog "logs/dummy-host2.example.com-access.log" common
    <Directory "E:/Program Files/AppServ/www/resume/hello1">
	#    拒絕所有訪問 Allow/deny
	    Allow from all
	#    是否顯示列表(項目發布后一般不啟用)
	#    Options +indexes
	#    是否啟用rewrite
	     AllowOverride all
    </Directory>
    <Directory "E:/Program Files/AppServ/www/resume/hello2">
#    拒絕所有訪問 Allow/deny
    deny from all
#    是否顯示列表(項目發布后一般不啟用)
#    Options +indexes
#    是否啟用rewrite
#     AllowOverride all
  </Directory>
</VirtualHost>

(5)添加rewrite規則,可以在resume文件夾或hello1、hello2文件夾,添加.htaccess文件,.htaccess文件中添加rewrite規則,也可以在httpd-vhosts.conf文件添加rewrite規則,rewrite負責如下:

RewriteEngine On

RewriteRule news-id(\d+)\.html$ news.php?id=$1

直接將內容復制到.htaccess文件,或者在httpd-vhosts.conf的某個目錄下AllowOverride all下一行添加以上內容。

 

3,偽靜態技術是站在seo角度看,他對於的頁面是不存在的,而是每次每次查詢數據庫得到的信息。真靜態的頁面是真實存在的。如果一個網站使用真靜態技術,會生成海量的html靜態頁面,可以考慮使用偽靜態技術來優化我們的網站。

url重寫(偽靜態)的好處:(1)可以方便實現對引擎的優化,並且比生成靜態頁面更加方便。(2)占空間比較小。(3)首頁每天都自動變化,不用維護。網站首頁一般都有熱點排行之類的,你可以設為24小時排行,一周排行,再加上最新文章,最新點評等。這樣首頁天天是有變化的。(4)便於廣告的輪顯。比如,可以把art1234.php,這個虛成n個頁,如art_1234.php,news_1234.php,,top_1234.php,在不同的頁面放不同的廣告。總之是動態的。你就可以隨意動。

url重寫的缺點:效率不如生成html的,因為它不是真正意義上的靜態頁,每次請求是要讀取數據庫的,但可以用緩存技術補償下。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM