㈠ php生成偽靜態html利於seo還是直接生成靜態利於SEO
PHP網站優化,動態網站生態靜態頁和實現偽靜態是必走之路,一般採用路徑偽靜態和頁面靜態兩種方面。
至於優缺點,首先,我們要明確兩個概念:
1、偽靜態是將動態語言的後綴通過一定的手段,轉為 html後綴,伺服器上實際訪問的是動態的地址。這叫偽靜態。蜘蛛對html後綴的網頁比較友好。不少網站就採用這樣的方式,這樣可以欺騙蜘蛛.達到seo優化的效果。
2、生成靜態,是將腳本執行過後的內容輸入到文本中。這樣,下次再請求,就不用伺服器去處理了。而是直接返迴文本中的內容。這樣可以加快訪問的速度。
各自的缺點:
1、偽靜態訪問是實時生產頁面,訪問量大了就會佔用很大的CPU資源。影響伺服器處理速度。
2、靜態頁生成頁面,內容多時就會產生更多的磁碟碎片。
但一般企業型網站,內容本身都不多,影響都不大。
什麼樣的情況下用好?
1、使用聯動數據的,需要調用資料庫數據實時顯示的,最好用偽靜態。如果是超大型的網站,比方說同一個程序開發的網站數據量超過百萬以上,我們還是主張不要全部採用生成靜態頁的方式,即使是世上最好的程序員開發出來的,性能最好的內容管理系統。因為生成靜態頁首頁是維護起來比較麻煩,伺服器里所生成的文件目錄和文件都是比較多的,而且將嚴重耗費時間和伺服器資源和性能。
2、頁面簡單,內容相對固定的,益用靜態頁。
3、適當相互結合。
一般大型門戶網站都是在採用多個程序,多個伺服器,多個二級域名的戰略。一個網站肯定會採用很多不同類型的程序和開源程序綜合使用,可以把核心的版塊和欄目實現靜態化。更有利於搜索引擎抓取和減輕伺服器的壓力。
㈡ 求助PHP偽靜態,如何將動態PHP頁面改為偽靜態頁面
偽靜態實際上就是把 index.php?act=about&cid=1 將這種形式的動態路徑用 about-1.html 這種形式輸出,也就是說瀏覽器每次訪問about-1.html地址能打開相應的index.php?act=about&cid=1動態網址。
偽靜態的實現本質上是配置伺服器進行路徑轉換,根據不同的伺服器環境,配置方法也不太一樣,PHP+iis6的話就要配置httpd.ini文件,php+iis7就要配置web.config,PHP+apache就要配置.htaccess文件(或者httpd.conf)
.htaccess(或者httpd.conf)文件的規則示例:
RewriteEngine on
RewriteRule ^/?(index|guestbook|online)\.html$ index\.php [L]
RewriteRule ^/?(eindex)\.html$ index\.php?act=$1 [L]
RewriteRule ^/?(index|guestbook|online)-([0-9]+).html$ index\.php\?p=$2 [L]
RewriteRule ^/?([a-z0-9]+)_([0-9]+).html$ index\.php\?act=$1&id=$2 [L]
RewriteRule ^/?([a-z0-9]+)-([0-9]+).html$ index\.php\?act=$1&cid=$2 [L]
RewriteRule ^/?([a-z0-9]+)-([0-9]+)-([0-9]+).html$ index\.php\?act=$1&cid=$2&p=$3 [L]
httpd.ini示例:
[ISAPI_Rewrite]
RepeatLimit 32
# Block external access to the httpd.ini and httpd.parse.errors files
RewriteRule /httpd(?:\.ini|\.parse\.errors).* / [F,I,O]
# Block external access to the Helper ISAPI Extension
RewriteRule .*\.isrwhlp / [F,I,O]
RewriteRule ^/(index|guestbook|online)\.html$ /$1\.php
RewriteRule ^/(eindex).html$ /index\.php\?act=$1
RewriteRule ^/(index|guestbook|online)-([0-9]+).html$ /$1\.php\?p=$2
RewriteRule ^/([a-z0-9]+)_([0-9]+).html$ /index\.php\?act=$1&id=$2
RewriteRule ^/([a-z0-9]+)-([0-9]+).html$ /index\.php\?act=$1&cid=$2
RewriteRule ^/([a-z0-9]+)-([0-9]+)-([0-9]+).html$ /index\.php\?act=$1&cid=$2&p=$3