PHP偽靜態(tài)_PHP動態(tài)URL靜態(tài)化_PHP教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:PHP技巧:用PHP導出MySQL數據庫內容為.sql文件通常我們都用 phpMyAdmin 來導出,不過如果你的數據庫如果存在下列問題,那么 phpMyAdmin 也無能為力。 數據庫的字符集與應用程序的字符集不一致; 應用程序用錯誤的編碼將數據保存到了數據庫中; 用 phpMyAdmin 和 mysqldump 導出的數據總是亂碼。 總之你用
動態(tài)URL靜態(tài)化的主要目的,其一是搜索引擎優(yōu)化(SEO),其二是面向用戶友好。動態(tài)URL靜態(tài)化是把一個動態(tài)地址轉化成一個靜態(tài)地址。其實,這個靜態(tài)地址的內容還是從動態(tài)地址來的,只是看起來,類似一個靜態(tài)地址。例如,本站頁面http://www.xxx.cn/blog/read.php/416.htm
其真實地址是
http://www.xxx.cn/blog/read.php?416
采用一定的技術,把第一個地址指向第二個地址,也就實現了動態(tài)URL靜態(tài)化的目的。
如 果進一步做到搜索引擎優(yōu)化(SEO),可以嘗試把地址修改成容易理解的文字,例如,416.htm可以修改為 child_kindergarten.html。這種做法在英文網站很流行,直接把標題作為連接就行了。中文網站實現比較困難。多數還是使用數字的。這 種做法主要針對Google,在目前的搜索引擎中,例如百度,MSN,Yahoo,沒有誰比Google更重視url。
動態(tài)URL靜態(tài)化 有兩種辦法,第一是使用Web服務器的,第二是編程實現。編程實現思路比較簡單,這里暫時不多說。我們的網站 www.childhood.net.cn由于使用的是一個小型的虛擬主機,所以不支持地址轉化,就只有使用php編程實現。當然,多數的程序已經包括了 這部分,不需要自己寫程序了。我們使用的bo-blog也已經包括了編程動態(tài)URL靜態(tài)化,盡管還不是很完全。
基于Web服務器的動態(tài) URL靜態(tài)化就簡單的多。當然,這里面包括兩個部分,第一是配置Web服務器�;旧�,大家使用虛擬主機的比較多,不可能自己配置,提供商提供的空間支持 動態(tài)URL靜態(tài)化就可以使用,不支持基本上也沒有什么辦法。對于自己架構服務器的人來說,這本身小才一碟,不許多說。所以,這里主要說如何進行轉換。
首先,在服務器的根目錄(例如public_html)建立一個文件名為.htaccess的文件。這個文件內容基本如下:
RewriteEngine on
RewriteBase /
RewriteRule ^post/([0-9]+).htm read.php?1
RewriteRule ^post/([0-9]+)_([0-9]+).htm read.php?1&page=2
RewriteRule ^post/([0-9]+)_([0-9]+)_([0-9]+).htm read.php?1&page=2∂=3
RewriteBase /
RewriteRule ^post/([0-9]+).htm read.php?1
RewriteRule ^post/([0-9]+)_([0-9]+).htm read.php?1&page=2
RewriteRule ^post/([0-9]+)_([0-9]+)_([0-9]+).htm read.php?1&page=2∂=3
看懂了吧?如果懂正則表達式的人,馬上明白怎么回事了。不懂得也沒有關系,下面是一個常用正則表達式的列表,根據例子,稍微修改,就可以做到了�;旧�,針對通常的連接轉移,應該都可以很容易實現的。
一個小技巧
引用
正則表達式用于字符串處理、表單驗證等場合,實用高效�,F將一些常用的表達式收集于此,以備不時之需。
匹配中文字符的正則表達式: [\u4e00-\u9fa5]
評注:匹配中文還真是個頭疼的事,有了這個表達式就好辦了
匹配雙字節(jié)字符(包括漢字在內):[^\x00-\xff]
評注:可以用來計算字符串的長度(一個雙字節(jié)字符長度計2,ASCII字符計1)
匹配空白行的正則表達式:\n\s*\r
評注:可以用來刪除空白行
匹配HTML標記的正則表達式:<(\S*?)[^>]*>.*?|<.*? />
評注:網上流傳的版本太糟糕,上面這個也僅僅能匹配部分,對于復雜的嵌套標記依舊無能為力
匹配首尾空白字符的正則表達式:^\s*|\s*
評注:可以用來刪除行首行尾的空白字符(包括空格、制表符、換頁符等等),非常有用的表達式
匹配Email地址的正則表達式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
評注:表單驗證時很實用
匹配網址URL的正則表達式:[a-zA-z]+://[^\s]*
評注:網上流傳的版本功能很有限,上面這個基本可以滿足需求
匹配帳號是否合法(字母開頭,允許5-16字節(jié),允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}
評注:表單驗證時很實用
匹配國內電話號碼:\d{3}-\d{8}|\d{4}-\d{7}
評注:匹配形式如 0511-4405222 或 021-87888822
匹配騰訊QQ號:[1-9][0-9]{4,}
評注:騰訊QQ號從10000開始
匹配中國郵政編碼:[1-9]\d{5}(?!\d)
評注:中國郵政編碼為6位數字
匹配身份證:\d{15}|\d{18}
評注:中國的身份證為15位或18位
匹配ip地址:\d+\.\d+\.\d+\.\d+
評注:提取ip地址時有用
匹配特定數字:
^[1-9]\d* //匹配正整數
^-[1-9]\d* //匹配負整數
^-?[1-9]\d* //匹配整數
^[1-9]\d*|0 //匹配非負整數(正整數 + 0)
^-[1-9]\d*|0 //匹配非正整數(負整數 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d* //匹配正浮點數
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*) //匹配負浮點數
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0) //匹配浮點數
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0 //匹配非負浮點數(正浮點數 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0 //匹配非正浮點數(負浮點數 + 0)
評注:處理大量數據時有用,具體應用時注意修正
匹配特定字符串:
^[A-Za-z]+ //匹配由26個英文字母組成的字符串
^[A-Z]+ //匹配由26個英文字母的大寫組成的字符串
^[a-z]+ //匹配由26個英文字母的小寫組成的字符串
^[A-Za-z0-9]+ //匹配由數字和26個英文字母組成的字符串
^\w+ //匹配由數字、26個英文字母或者下劃線組成的字符串
評注:最基本也是最常用的一些表達式
分享:PHP生成靜態(tài)頁面完整教程我們先回顧一些基本的概念。 一、PHP腳本與動態(tài)頁面。 PHP腳本是一種服務器端腳本程序,可通過嵌入等方法與HTML文件混合,也可以類,函數封裝等形式,以模板的方式對用戶請求進行處理。無論以何種方式,它的基本原理是這樣的。由客戶端提出請求,請求某一頁
相關PHP教程:
- 相關鏈接:
- 教程說明:
PHP教程-PHP偽靜態(tài)_PHP動態(tài)URL靜態(tài)化
。