关于页面优化和伪静态_PHP
伪静态
关于页面优化和伪静态1)版面优化
2)伪静态(重点涉及apache,smarty,正则)
详细内容:
一、版面优化:
版面优化其实主要涉及HTML,JS,CSS,XML之间的关系(XML相关在此不作描述).
1)一般来说,在资源共享的前提下,我们最基本的目的是让搜索引擎所收录(很多人被AJAX所迷惑,到处使用AJAX,但我的观点是,只有在后台或用户操作部分才使用).
因此,首先我们应该按搜索引擎的收录准则来设计(其实下面说的“伪静态”还不是为了搜索引擎,由于相关文档有好几个PAGE,请自行搜索),主要是html的使用问题,如
2)然后解决加载速度和内容纯度问题:
主要是以下几个原则:
1>不要为了版面美观,把无谓的HTML加上去,建议把版面美观的任务交给CSS,并认真考虑CSS的可重用性,HTML只作为对信息内容的描述(好像是XML的重点吧)。我在网上抽查了好一部分的站点,好的网站,html占总内容的50%以下,但有的站点,文字内容占总内容不到20%,
2>把JS,CSS写成文件.只要是利用了浏览器的CAHCHE,减少内容下载
3>HTML标签应该尽量减少嵌套,我见过夸张的一个站点,TABLE嵌套居然是11层..狂汗….
3)解决数据合理处理时间
这个涉及内容比较多,主要是
二、伪静态
这里主要描述apache,smarty的应用,当然,其实使用什么模板甚至不使用模板都没什么关系的,只是笔者长年使用smarty,深浓感受到它的强大
该部分主要针对的是对系统有控制权和对apache、正则较为熟悉的用户。
在这里,核心是强调正则的应用,如果你不会正则表达式,那么你就只能停留一成不变的抄袭阶段,甚至无法使用.而且正则在应用上普遍(基本上什么语言都有)、频繁和强大,笔者还是建议花点时间,学精一点,受用终生
对于搜索引擎,据我所知,关键是处理GET中的”?”、”&”.”php”,还有就是URL长度的问题就OK了,形式就看个人爱好了。
先说APACHE,关键是使用mod_rewrite,打开mod_rewrite模块(在httpd.conf中,把LoadModule rewrite_module modules/mod_rewrite.so前面的“#”去除)
如果使用了vhost(),可以在vhost里面加入类似下面的代码:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^xxx.com$
RewriteRule ^/([^\.\/]+)\.html$ /index.php?action=$1 [L]
解释:
以上配置不一定放在vhost里,按你个人要求放得合适就行。
第一行,表示该vhost将要使用rewrite(URL重写)
第二行,RewriteCond是用于如果后面条件符合(第一个参数满足第二个参数,其中第二个参数为正则表达式),则执行下面的RewriteRule指令,其中%{xxxx}表示是apache的变量,%{HTTP_HOST}表示URL的主机(域名),其它变量请查看apache2手册
第三行,实现url重写(重头戏),第一个参数为在浏览器中输入的url,满足该正则的uri才执行重写,第二个参数是重写规则,即把满足第一个参数的url 按照该规则转换成你须要的url在这里笔者必须指出,重写后的url如果包含”http://”,跳转后的地址会显示在浏览器的地址栏中。第三个参数是一些控制,如以上[L]表示该重写是最后一条,后面的重写规则不再被执行。
smarty部分:
主要是处理输出的页面内容,你使用apache的rewrite后,你页面中的链接当然使用了它的规则了,如:原来是 abc.php?action=doit就要改用类似abc/action-doit.html这样的方式表示,当然,你可以在做页面时自己手动去改,但我觉得这是比较笨的方法.为什么不去使用ob_xxxxx()去控制呢?(ob_xxxx()系的函数使用请参考php手册).在这里的介绍使用 smarty去代替,因为这样会更加灵活
在smarty中,使用register_outputfilter()注册一个处理方法即可,具体方法类似为:
//先定义好一个处理函数
function change_url($tpl_output, &$smarty)
{
$tpl_output=preg_replace(”/\/index.php?\?action=([^&]+)/i”,”/\\1.html”,$tpl_output);
return $tpl_output;
}
//该函数第一个参数是smarty的页面内容,第二个是smarty指针
//然后使用
$tpl->register_outputfilter(”change_url”);
register_outputfilter()方法是输出过滤函数,即交给 change_url($tpl_output, &$smarty)第一个参数是smarty处理后的页面内容
同类型的还有前过滤方法register_prefilter(),即把smarty模板交给第一个参数,详细使用方法请参考smarty手册

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

偽靜態是指將動態的url位址透過偽裝成靜態位址的方式來存取的技術,而隱藏php後綴則是透過修改伺服器配置,讓存取動態頁面時不再顯示php後綴。這樣做的好處是可以增強網站的安全性,避免被破解,同時也更美觀,增加使用者體驗。本文將詳細介紹如何使用偽靜態隱藏php後綴,以提升網站的安全性與使用者體驗。

眾所周知,優化網站的SEO是網站營運中非常重要的一環。而眾多網站所使用的動態網頁系統(如PHP)預設的URL帶有拓展名稱(.php、.html等)會影響網站的SEO效果。為了提升網站的最佳化效果,常見的做法是將動態URL改為偽靜態URL以隱藏拓展名,提高網站的使用者體驗和搜尋引擎排名。本文將以「偽靜態隱藏php後綴」為主題,介紹如何在PHP網站中實現此最佳化,並

提升網站安全性:偽靜態規則實現PHP後綴隱藏隨著網路的發展,網站安全性問題日益凸顯,其中包括對惡意攻擊的防範和用戶資料的保護。一個有效的措施是透過偽靜態規則來隱藏PHP後綴,這有助於提高網站的安全性和保護使用者隱私。在實現這一目標時,我們需要使用一些具體的程式碼範例來示範如何實現PHP後綴的隱藏。首先,我們要先了解什麼是偽靜態規則。偽靜態是一種將動態網頁連結轉

Vue是一種現代化的JavaScript框架,用於建立使用者介面。它的簡潔、高效和靈活的特性使得它成為前端開發的首選工具之一。然而,在開發Vue應用程式時,如何優化頁面的載入速度和效能成為一個重要問題。本文將分享一些Vue開發的建議,幫助開發者優化頁面的載入速度和效能。使用Vue的非同步元件載入Vue允許我們將元件定義為非同步載入。透過使用import()來動態導入

標題:Vue開發中的頁面快取優化實踐引言:在現代的Web開發中,優化頁面效能是一項重要且不可或缺的工作。 Vue作為一個流行的前端框架,提供了一些強大的機制來幫助我們進行頁面快取優化。本文將詳細介紹如何使用Vue進行頁面快取優化,並提供具體的程式碼範例。一、理解頁面快取優化的概念頁面快取優化指的是利用快取機制來快取已載入的頁面,避免重複的網路請求從而提高頁面的加

如何透過PHP函數來優化頁面快取效果?概述:在網站開發中,優化頁面快取是提高使用者體驗和網站效能的重要環節之一。透過合理設定頁面緩存,可以減少伺服器的負擔,加快頁面載入速度,提升使用者存取體驗。而PHP函數是我們可以利用的工具之一。本文將介紹一些基本的PHP函數,以及如何使用它們來最佳化頁面快取效果。一、了解PHP函數:ob_start()函數:

隨著網路的快速發展,網站的建置越來越受到人們的關注。而眾所皆知,優化網站的SEO能夠提高網站的排名及流量,而偽靜態就是網站SEO優化中不可或缺的一部分。在這篇文章中,我們將會利用ThinkPHP6實現偽靜態,並且進一步探討偽靜態的最佳化和實作過程。什麼是偽靜態?在講解偽靜態實作之前,先來了解什麼是偽靜態。偽靜態是一種透過網頁URL位址重寫,使其看

隨著網路的發展,網頁優化已經成為了一個非常重要的議題。一個流暢、快速的網頁對使用者來說是必要的,因為這直接與使用者體驗有關。而對於網站維運來說,透過頁面優化可以減輕伺服器負載,提高網站的可用性和穩定性。針對這些需求,PHP程式設計師可以使用一些最佳實務來進行頁面最佳化。開啟快取快取可以避免重複的計算。在未使用快取的情況下,每次請求都需要進行資料庫查詢或其他操作。而
