導航:首頁 > 編程語言 > php生成靜態html頁面

php生成靜態html頁面

發布時間:2025-05-15 08:01:19

php生成偽靜態html利於seo還是直接生成靜態利於SEO

PHP網站優化,動態網站生態靜態頁和實現偽靜態是必走之路,一般採用路徑偽靜態和頁面靜態兩種方面。
至於優缺點,首先,我們要明確兩個概念:
1、偽靜態是將動態語言的後綴通過一定的手段,轉為 html後綴,伺服器上實際訪問的是動態的地址。這叫偽靜態。蜘蛛對html後綴的網頁比較友好。不少網站就採用這樣的方式,這樣可以欺騙蜘蛛.達到seo優化的效果。
2、生成靜態,是將腳本執行過後的內容輸入到文本中。這樣,下次再請求,就不用伺服器去處理了。而是直接返迴文本中的內容。這樣可以加快訪問的速度。

各自的缺點:
1、偽靜態訪問是實時生產頁面,訪問量大了就會佔用很大的CPU資源。影響伺服器處理速度。
2、靜態頁生成頁面,內容多時就會產生更多的磁碟碎片。
但一般企業型網站,內容本身都不多,影響都不大。
什麼樣的情況下用好?
1、使用聯動數據的,需要調用資料庫數據實時顯示的,最好用偽靜態。如果是超大型的網站,比方說同一個程序開發的網站數據量超過百萬以上,我們還是主張不要全部採用生成靜態頁的方式,即使是世上最好的程序員開發出來的,性能最好的內容管理系統。因為生成靜態頁首頁是維護起來比較麻煩,伺服器里所生成的文件目錄和文件都是比較多的,而且將嚴重耗費時間和伺服器資源和性能。
2、頁面簡單,內容相對固定的,益用靜態頁。
3、適當相互結合。
一般大型門戶網站都是在採用多個程序,多個伺服器,多個二級域名的戰略。一個網站肯定會採用很多不同類型的程序和開源程序綜合使用,可以把核心的版塊和欄目實現靜態化。更有利於搜索引擎抓取和減輕伺服器的壓力。

② php如何生成靜態頁面

lz只是想要主頁生成靜態嗎?這種問題我回答過,也許可以幫助你
如果是這樣就在你的主頁(index.php)同一文件夾下建立index0.php並保證當前文件夾可以寫入

index0.php代碼如下
<?php
ob_start(); //將這里以後的所有輸出內容保存
include('index.php'); //載入原首頁
$write=ob_get_contents(); //ob_get_contents函數獲取輸出內容,兼容php4以上版本
if (!$fh = fopen('index.html', 'w')) {
exit("不能打開文件 'index.html'");
}
if(fwrite($fh,$write)===false){
exit("不能寫入文件 'index.html'");
}
fclose($fh);
echo "靜態首頁成功更新!"
?>

每次打開這個頁面(index0.php),都會直接顯示你的首頁(動態地)並將顯示的東西寫入index.html文件,並在最後顯示是否成功更新。當然你可以選擇不顯示更新狀態,看你喜歡如何

以後你就可以通過訪問index0.php來生成靜態首頁,靜態首頁為index.html

③ 如何用PHP輸出靜態頁面

用PHP輸出靜態頁面有2種方法

一種是利用模板技術,另一種是用ob系列函數。兩種方法,看起來都差不多,但是實際上,卻是不同的。

第一種:利用模板

目前PHP的模板可以說是很多了,有功能強大的smarty,還有簡單易用的smarttemplate等。

它們每一種模板,都有一個獲取輸出內容的函數。

我們生成靜態頁面的方法,就是利用了這個函數。

用這個方法的優點是,代碼比較清晰,可讀性好。

這里我用smarty做例子,說明如何生成靜態頁

<?php
require('smarty/Smarty.class.php');
$t=newSmarty;
$t->assign("title","HelloWorld!");
$content=$t->fetch("templates/index.htm");
//這里的fetch()就是獲取輸出內容的函數,現在$content變數裡面,就是要顯示的內容了
$fp=fopen("archives/2005/05/19/0001.html","w");
fwrite($fp,$content);
fclose($fp);
?>

第二種方法:利用ob系列的函數

這里用到的函數主要是ob_start(),ob_end_flush(),ob_get_content(),

其中ob_start()是打開瀏覽器緩沖區的意思,

打開緩沖後,所有來自PHP程序的非文件頭信息均不會發送,

而是保存在內部緩沖區,直到你使用了ob_end_flush().

而這里最重要的一個函數,就是ob_get_contents(),

這個函數的作用是獲取緩沖區的內容,相當於上面的那個fetch(),

道理一樣的。代碼:

<?php
ob_start();
echo"HelloWorld!";
$content=ob_get_contents();//取得php頁面輸出的全部內容
$fp=fopen("0001.html","w");
fwrite($fp,$content);
fclose($fp);
?>

④ phpcms 我生成靜態文件路徑是/html , 但是生成的頁面上的url也帶著html啊,怎麼能去掉這個

1 修改配置文件。找到\caches\configs\system.php 找到「html_root」這一項,然後把/html這個字元串刪除。
創建或者修改欄目時,在「生成HTML設置」中,設置「是否生成到根目錄」為 「是」

然後更新緩存,更新url更新欄目、更新內容頁面。更新首頁

閱讀全文

與php生成靜態html頁面相關的資料

熱點內容
蘋果藍牙怎麼發應用給安卓 瀏覽:453
江蘇網路雲伺服器虛擬主機 瀏覽:168
wps幻燈片圖片壓縮 瀏覽:730
保證數據不被編譯器優化 瀏覽:293
net轉pdf 瀏覽:416
畢業當程序員大學學什麼專業 瀏覽:710
農業銀行app怎麼買保險 瀏覽:291
錦州一塊錢麻將演算法 瀏覽:800
ecg單片機 瀏覽:424
榮耀手機怎麼把app不見了 瀏覽:769
安卓車載模式如何關閉 瀏覽:656
路由器怎麼才能橋接列印伺服器 瀏覽:704
phpexcel中文亂碼 瀏覽:835
bat批處理命令大全 瀏覽:601
php隨機數組值 瀏覽:904
雲伺服器如何查看文件 瀏覽:532
伺服器都可以干什麼 瀏覽:792
計算字元串長度php 瀏覽:81
天府電腦編程培訓 瀏覽:37
android游戲程序員 瀏覽:990