Google名次秘笈-動態網站的優化處置

Google名次秘笈:動態網站的優化處置動態網站的靜態化處置:普通國內常用的辦法都是將網站換成一套後臺是動態的,前臺是半自動生成靜態頁面的系統,這類系統已經有太多了,你可以依據你網站的需求去挑選,還是專門請人研發。海外到現在為止普通都認為合適而使用的是下邊URL照射的辦法:(成功實現辦法主要有2種)
基於url rewriteIIS的ISAPI REWRITL
基於path info把URL地址用作參變量傳交:URL REWRITE
最簡單的是基於各種WEB服務器中的URL重寫轉向(Rewrite)板塊的URL改換:這些個幾乎可以不改正手續的成功實現將news.asp?id=234這麼的連署照射成news/234.html,從外面看中去和靜態鏈接同樣,Apache服務器上有一個板塊(非缺省):mod_rewrite:URL REWRITE功能之堅強雄厚足夠寫上一本書。
當我需求將news.asp?id=234照射成news/234.html時,只需設置:
RewriteRule /news/(\d+)\.html /news\.asp\?id=$1[N,I], 這麼就把/news/234.htm這麼的煩請照射成了/news?id=234.
而在IIS也有相應的REWRITE板塊:譬如ISAPI REWRITE和IIS REWRITE,語法都基於准確表現式,由於配備布置幾乎和apache的mod_rewrite是相同的:
比對某一個簡單應用可以是:RewriteRule /news/(\d+)\.html /news/news\.php\?id=$1 [N,I], 這麼就把$/forum/viewtopic.php?t=$1 [L]
RewriteRule /forum/forum_(.+)\.html$/forum/viewtopic.php?t=$1 [L]
RewriteRule /forum/user_(.+)\.html$/forum/profile.php?mode=viewprofileu=$1[L]
這麼設置就可以經過topic_1234.html forum_2.htm user_34.htm這麼的鏈接過訪原來的動態頁面了。
經過URL REWRITE還有一點益處:
Mod_rewrite和isapirewrite基本兼容,不過仍然有點不一樣,譬如:isapirewrite中』?』需求轉義成』\?』,mod_rewrite無須,isapirewrite支持』d+』(所有數碼),mod_rewrite不支持掩飾後臺事實:這在後臺應用平臺的搬遷時十分有用:當從ASP搬遷到JAVA平臺時,對於前臺用戶來說,根本感覺不到後臺應用的變動;
簡化數值校驗:由於像(\d+)這麼的參變量,可以管用的扼制數碼的款式甚至於位數;
譬如我們需求將應用從news.asp?id=234搬遷成news.php?query=234時,前臺的表達可以一直維持為news/234.html。從成功實現應用和前臺表達的離合:維持了URL的牢穩性,而運用mod_rewrite甚至於可以把煩請轉發到其它後臺服務器上。
基於PATH——INFO的URL綠化
URL綠化的額外一個形式就是基於URL_INFO:
PATH_INFO是CGI標准,因為這個PHP Servlet等都有的支持。譬如Servlet中就有request.getPathInfo()辦法。
注意:/hello.jsp,從這處你也可以曉得JSP實際上就是一個Servlet的PATH_INFO的參變量。ASP不支持PATH_INFO,php中基於PATH_INFO的參變量解析的例子如下所述:
//注意:參變量按』/』瓜分,第1個參變量是空的:從/param1/param2中解析出$param1 $param2這2個參變量if (isset ($_SERVER[『PATH_INFO』])){
??list($nothing,$param1,$param2)=explode(『/』,$_SERVER[『PATH_INFO』]);}
怎麼樣掩飾應用:例如:.php的擴展名:
在APACHE中這麼配備布置:
FilesMatch 『^app_name$』
??ForceType application/x-httpd-php
/FilesMatch
怎麼樣更像靜態頁面:app_name/my/app.html
解析的PATH_INFO參變量的時刻,把最終的一個參變量的最終5個字符』.html』切斷即可。
尤其是針對運用虛擬主機用戶,無權安裝和配備布置mod_rewrite的時刻,PATH_INFO往往成了惟一的挑選。
OK,這麼往後看到大致相似於/article/234這麼的網頁你就曉得有可能是article/show.php?id=234這個PHP手續生成動態網頁,眾多站點外表看中去有可能有眾多靜態目次,實際上很可能都是運用1,2個手續成功實現的內部實質意義宣布。譬如眾多WIKIWIKI系統都運用了這個機制:整個兒系統就一個簡單的WIKI手續,而看中去的目次實際上都是這個應用拿後面的地址作為參變量的查問最後結果。
利用基於MOD_REWRITE/PATH_INFO+CACHE服務器的解決方案對原有的動態宣布系統施行改造,也可以大大減低舊有系統昇班到新的內部實質意義管理系統的成本。況且便捷了搜索引擎網站收錄的拖曳。
附:如在哪裡IIS上利用PHP支持PATH_INFO
PHP的ISAPI標准樣式安裝備忘:只試成php-4.2.3-win32
解包目次
Php-4.2.3-win32.zip c:\php
PHP.INI起初化文件
復制: c:\php\php.ini –dist到c:\winnt\php.ini
配備布置文件關涉
依照install.txt中的解釋明白配備布置文件關涉
運行庫文件
復制c:\php\php4ts.dll到c:\winnt\system32\php4ts.dll
這麼運行後:會發覺php把PATH_INFO照射到達物理途徑上
Warning:Unknown(C:\CheDong\Downloads\ariadne\www\test.php\path):failed to create strem:No such file or directory in Unknown on line 0
Warning:Unknown():Failed opening 「C:\chedong\downloads\ariadne\www\test.php\path」 for inclusion (include_path=」.;c:\php\pear」) in Unknown in line 0
安裝ariadne的PATCH
休止IIS服務
Net stop iisadmin
ftp://ftp.muze.nl/pub/ariadne/win/iis/php-4.2.3/php4isapi.dll
遮蓋原有的c:\php\sapi\php4ispi.dll
注:ariadne是一種基於PATH_INFP的內部實質意義宣布系統,PHP4.3.2RC2中CGI標准樣式的PATH_INFO已經修正,跟平常一樣安裝即可。