搜尋引擎優化程式設計(二) 友好的URL位址

2021-05-25 05:10:25 字數 3224 閱讀 1510

友好的

url位址,很多**做到了這一點,有些人會理解為友好的

url位址更便於使用者記憶,僅此而已。事實上,這只是乙個方面,它對於搜尋引擎優化也有一定的好處。現在的搜尋引擎收錄時,對不同的位址確實不會有不同的待遇。我現在舉出兩個例項:

類似這樣的**我們經常遇到,很顯然,後者的位址更容易被我們記住

。通常我們是通過重寫

url位址來做到這一點的。我暫時所知道的重寫

url位址好處有:

1搜尋引擎在收錄時會將位址加粗顯示。

這一點大家可以去試試就知道了,本來想截圖,太佔地方。

2隱藏真實目錄。

這似乎對搜尋引擎優化沒有什麼好處,但是對於其他方面的好處大家可想而知。

另外,這樣做網頁被搜尋引擎收錄似乎更容易一些,搜尋引擎往往對靜態頁面更感興趣。重寫方式良好

url位址似乎更容易被「蜘蛛」理解,這點,我也沒有很充分的理由,所以先不單獨列作一條。

注意:重寫

url位址的好處是很明顯的,但是在效率方面會讓你的站點有所降低,尤其是不當的重寫方式,會大大地降低站點的執行效率,有的甚至會發生錯誤。當然,乙個好的重寫方式自然給站點帶來的效率影響也是很小的,因此,這些影響自然就微乎其微了。

下面向大家介紹一些常用的

url重寫方式(一般不喜歡貼,但是為了更方便地說明問題還是貼了幾張)。這裡需要申明一下,由於我們使用最多的還是

iis,在這裡使用的均為

iis6.0

,其它iis

1)isapi_rewrite

官方**:

iis層次的url

重寫,使用比較方便。只需要簡單地修改配置檔案就可以了,但是不是開源也不是免費的,試用期只有

30天。我在這裡只是簡單的說明,有需要的朋友購買後可以去看完整的使用文件。

,將其屬性修改為可寫,我們的重寫規則就寫在裡面。當你確定你的重寫規則全部寫好後,可以將其又改為唯讀。

開啟httpd.ini

檔案,我們在後面新增自己的重寫規則。這裡新增一條示例規則:

rewriterule ^/hello-world.html$ /news.aspx?id=1

內容很簡單,就是將

hello-world.html

重寫到/news.aspx?id=1(^

和$分別為規則內容的分界符)。這種方法只是簡單的介紹,而且試用版只能對整個

iis配置,不可以對逐個站點配置,下面是執行效果圖:

2)urlrewriting.net

官方**:

這是我們使用得比較多的一種

url使用起來其實也比較簡單,和前面的一樣,需要一點點正規表示式的知識,有興趣的朋友稍微去看下就

okdll

檔案新增到引用,在我的演示示例中,大家可以參照我的

webconfig

檔案的寫法,關鍵部分是下面的**:

<

rewrites

>

<

addname

="rewrite"

virtualurl

="^~/(.*)/(.*).html"

rewriteurlparameter

="excludefromclientquerystring"

destinationurl

="~/default.aspx?category=$1

&id=$2"

ignorecase

="true"/>

rewrites

>

這個節點是我們存放重寫方法的地方,其餘部分都是一樣的。我這裡展示了兩個引數的

url重寫,因為乙個引數很容易,大家在寫的時候可能會遇到問題,重寫規則與第一種方法中類似。重寫後的效果如下:

簡單的演示**如下:

還有一種常用的

url重寫工具與

urlrewriting.net

類似,叫

urlrewriter.net

,使用也幾乎相同,這裡就不再介紹了。

3)建立自己的重寫**

使用工具,有時候有一些侷限性。比如說在某些虛擬主機中,可能就不支援。這樣我們可以建立自己的重寫**,雖然稍微複雜,但比較適合規模較小的站點。借助全部應用程式類,我們可以將重寫方法寫在應用程式啟動執行部分,就是大家都知道的

global.asax

檔案。在

方法中可以完成我們的重寫方法。我在這裡簡單地演示一下,相信很多人都使用過:

void

} 整個重寫過程就在這個檔案中完成,只是在轉向固定的位址時有點麻煩。

前面介紹了幾種

url重寫的方法,使用起來都比較方便。但有一種能達到目的作法(友好的

url位址)並非

url重寫一種。

很多朋友都把從動態位址轉換到動態位址的過程叫做靜態化(這樣並不準確)。就像現實生活中一樣,很多東西都真真假假得讓人模糊得分辨不出來。靜態化也是這樣,通常把靜態分真靜態和偽靜態,但是這樣的真假似乎對我們更有好處,不像現實生活中。而且只要我們稍加觀察,就能分辨其中的真偽。很顯然,偽靜態只是形式上的靜態,確實,它只是把

url位址轉換成靜態了,內容仍然是動態的。另外一種方式則是確實將(部分)內容完全靜態化了,至少生成了乙個靜態的檔案。

好多朋友其實都知道,就是利用模板生成了新檔案。現在很多站點都這麼做了,這樣做有乙個很大的好處,就是在訪問量很大時可以很大程度地減小資料庫的壓力。當然,就算生成了靜態的模板,有些資料還是需要動態獲取的,這時候我們使用

ajax

可以比較方便地獲取資料。曾經為了使用方便,弄了乙個利用模板檔案生成檔案的類,使用起來比較簡單。這樣做的原理本來就比較簡單,有興趣的朋友可以弄去看看,**就不貼出來了。使用的時候很容易(如果你把剛剛我說的那個檔案放到了

資料夾的話),我舉個例子:

string

strnewshtml = new

string ;

這裡是需要生成的內容

string

stroldhtml = new

string ;

這裡是需要替換的標籤

files

.creathtmlpage(strnewshtml, stroldhtml, "newsmode.htm", strfilepath)

生成新檔案

剩下的內容就是用ajax獲取你的動態內容了,相信大家都經常用到了,在這裡就不說了。

搜尋引擎優化 URL重寫

rhel下弄得我半夜腦子裡全是命令,halt都停不下來,直接失眠了。昨天一天不敢進紅帽系統,在windows下研究負載均衡理論寫了一天 明天就能動手試試了,晚上看了些seo優化,動手試了試,雖不多也是學習啊。常規的php字串操作函式的執行比正規表示式要快很多,因此只有需要的時候才使用後者。例如,如果...

搜尋引擎優化程式設計

一直以來都有乙個想法,把seo search engine optimization 知識總結一下,讓自己有乙個系統化的認識。前一段時間總是因為一些瑣事耽誤,今天總算決定要花幾天時間來好好寫寫了。希望對這一方面感興趣的朋友支援下,另外,由於我也只是把自己的想法寫下來了,當中難免有錯誤遺漏之處,希望高...

搜尋引擎優化

十 註冊alexa,並通過 認證。http www.alexa.com data details contact info?url taoyinqing.com 中國雅虎 http search.help.cn.yahoo.com h4 4.html 微軟live msn http search.m...