分類信息多城市版高級偽靜態的實現

  前幾天過來分享瞭一下這幾年兼做二手分類信息網站的心路歷程,收到瞭不錯的反響,很多站長朋友加我QQ或發來郵件,詢問mymps和php168分類系統的相關問題。為瞭方便大傢使用,特寫此文,介紹一下php168多城市域名和高級偽靜態的實現方法(類似58同城與趕集網那樣的形式)。

  其實官方在後臺的偽靜態設置裡面做瞭一大篇的說明和規則,照理說實現起來不難。但問題就出在那兒,官方說明是有錯誤的,按部就班的執行起來會出錯,這樣對於大多不喜歡自己去研究的朋友或者新手站長來說,頓時就手足無措,不知道該怎麼辦瞭。下面我們就順著官方說明的步驟,逐一解釋。

  官方說明第一條:要使用偽靜態的話,你需要修改apache或IIS的配置文件,如果是單城市版就添加單城市版偽靜態規則,如果是多城市版就添加多城市版偽靜態規則

  我的說明:這是肯定要做的,但不是現在做,是留在後面做,而且也不能用他提供的規則。

  官方說明第二條:單城市版註意事項: 想使用高級偽靜態的話,首先必須要確認分類欄目的目錄名第一個字母是大寫.否則會出錯,無法訪問網頁.

  我的說明:本文討論多城市版,也未用單城市版試驗。但我想,既然是用這個系統,就很少有人會用單城市版的吧,故略過。

  官方說明第三條:多城市版註意事項:如果你想實現城市域名,那必須要在域名管理商那裡設置一個泛域名*.2pcw.cn指向到當前服務器的IP,一般設置後不會馬上生效,要等一段時間.

  我的說明:這個必須有。建議是用dnspod,設置後立即生效。

  官方說明第四條:啟用偽靜態前,請點擊頭部菜單分類目錄批量生成標準目錄名,一次性把所有分類欄目生成標準的目錄名.這不會創建目錄,隻是更新數據庫.

  我的說明:官方此舉是防止出現數據庫裡沒有這個欄目目錄名,偽靜態時地址為空的錯誤。但這條不要去做,會把你自己辛辛苦苦設置的分類目錄全部替換掉。因每個欄目我們都會手工修改名稱、英文目錄名、標題、關鍵詞、描述等等,就已經更新過數據庫,不會出錯瞭。

  官方說明第五條:如果是多城市版,啟用偽靜態前,你還要點擊頭部菜單城市批量生成目錄文件,一次性把所有城市生成目錄文件.每個城市都會生成一個單獨的目錄.

  我的說明:這步是必須的。如果添加瞭城市,也要生成。

  經測試不能正常使用的官方apache規則如下:

  RewriteRule ^/([^\/]+)/f([^\/]+)\.([a-zA-Z0-9]+)$ /bencandy\.php\?Fid=$1Id=$2

  RewriteRule ^/([^\/]+)/$ /list\.php\?Fid=$1

  RewriteRule ^/([^\/]+)/([^\/]+)/$ /list\.php\?Fid=$2zone_street=$1

  RewriteRule ^(.*)/(list|bencandy)-([^\/]+)\.([a-zA-Z0-9]+)$ $1/$2\.php\?stringID=$3

  經修改測試可正常使用的規則如下(演示地址/):

  RewriteRule ^([-_0-9a-zA-Z]+)/f([-_0-9a-zA-Z]+)\.html$ /bencandy.php?Fid=$1Id=$2

  RewriteRule ^([-_0-9a-zA-Z]+)/$ /list.php?Fid=$1

  RewriteRule ^([-_0-9a-zA-Z]+)/page([0-9]+)/$ /list.php?Fid=$1page=$2

  RewriteRule ^([-_0-9a-zA-Z]+)/([-_0-9a-zA-Z]+)/$ /list.php?Fid=$1zone_street=$2

  RewriteRule ^([-_0-9a-zA-Z]+)/([-_0-9a-zA-Z]+)/page([0-9]+)/$ /list.php?Fid=$1zone_street=$2page=$3

  需要說明的是,默認的分頁是這樣的:/diannao/,/diannao-page-1/,/diannao-page-2/,這樣很不好,不利於欄目seo,需要修改為:/diannao/,/diannao/page1/,/diannao/page2/,偽靜態規則已經在上面列出,還需要在程序裡,構造分頁地址那修改過來。

  有的可能會說,現在做多城市的分類信息還有前途嗎,誰能競爭過58和趕集啊。我認為是,大而全的不行,小而精的總可以做一做,專註於某一個小的分類再細分下去,還是可以賺點流量的,二手電腦網/就是使用多城市版建立。最後祝大傢五一假期耍好。