1. 程式人生 > >恢復WordPress分類目錄的別名連結形式

恢復WordPress分類目錄的別名連結形式

注:內容很偏門,標題還真不知道如何擬,估計只有細看內容或有相同經歷的朋友才看得懂俺說的是什麼。

昨天下午自從在百度統計中使用了 SEO 建議之後,讓我從下午一直折騰到晚上才算告一段落。原因是百度 SEO 建議中提示:

在靜態頁面上使用動態引數,會造成 spider 多次和重複抓取

點開問題頁面才知道原來是我的分類用了 ?cat=id 的動態連結。自從使用了《正確的 Win 主機網站偽靜態設定方法》之後,自己也懷疑過為什麼我的分類連結還是動態的?而且我還有印象,剛安裝 wordpress 的時候都不是這個形式,應該是用的分類的別名連結才對啊!當時固執的認為是使用了%post_id%.html

的固定連結的緣故,,也就沒去深究。今天看到這個 SEO 建議,感覺又有得“折騰”!於是各種引擎各種搜,但是信心很豐滿,結果卻很骨感!

搜到的結果基本都是教你如何解決使用偽靜態之後,中文分類或中文標籤打不開的情況在百度知道倒是看到同樣的提問,不過沒能解決:《wordpress 分類目錄 怎麼設定才能以"別名"的方式顯示?》 ,這個人的情況就和我一致了,其他還真搜不到相似的內容!

我這個人有個韌性,反正不解決我就不會放棄,而且我在別人部落格(比如同樣主題的知更鳥),看得導航中的分類選單可都是別名連結的,而不是?cat=id的動態連結!於是我到處去問如何設定分類目錄的別名訪問,比如我在奇客小屋、古月小簡等博友的部落格都問到了相關問題,到最後都沒解決,估計弄得博友也一頭霧水。。。

昨晚大概 11 點在和 GF 通電話時,隨意點開了搜尋結果中的《WordPress 分類目錄標籤雲集 404 錯誤修復教程》,讓我靈光一閃!終於想起來了造成分類目錄寫死為動態連結的原因!原來是我第一次使用 404 的方法設定偽靜態的時候修改過這個檔案,後來我又將偽靜態的實現方法修改為 Rewrite 規則,但是卻忘記將以前修改過的檔案改回來![感謝親愛的 GF]

好吧,言歸正傳,寫清楚造成分類目錄寫死為動態連結的原因(之一)。

原因就是:曾經使用過 404 重定向的偽靜態設定方法,又由於設定之後中文目錄或中文標籤無法開啟,就修改了根目錄下面的wp-includes/rewrite.php檔案,將分類目錄的固定連結設定為?cat=id 的動態形式!最終,由於再次更換了偽靜態的設定方法,卻忘記將 wp-includes/rewrite.php 裡面被修改的內容重新改回來!從而導致了分類目錄固定為?cat=id 形式的動態連結!

解決方法:開啟 wp-includes/rewrite.php,搜尋找到

Shell
1234 functionusing_index_permalinks(){if(!empty($this->permalink_structure)){returnfalse;....

將其中的驚歎號

去掉,儲存後上傳覆蓋即可還原分類目錄的別名連結模式!

回到首頁一重新整理,那可愛的別名連結又回來了!偽靜態裡面混著動態,蜘蛛確實也挺困惑的,這下終於解決了!

另外,推薦一個外掛,去掉別名連結裡面的/category 字樣:WP No Category Base - WPML compatible讓連結更加簡潔!網上那個修改 category-temp**.php 的方法,找了半天沒找到目的碼,納悶中。。。最後只要先用外掛算了.

待會再去百度知道幫那個人一把好了,誰讓咱們同是天涯淪落人呢?