wordpress點擊中文tag標簽出現404解決方案


TypeCho轉WordPress之后,發現點擊中文tag出現404頁面,也就是點擊無效了。試了幾種修改鏈接樣式,都沒效果。也嘗試了各種網上找的3中方法:

第一種方法:打開 WP-include/classes.php(3.1之前版本)或WP-include/class-wp.php(3.1+之后版本,下文稱新版)找到第154行(新版為142行),把:

$pathinfo = $_SERVER['PATH_INFO';

替換為:

$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], 'UTF-8', 'GBK');

找到第159行(新版為147行),把:

$req_uri = $_SERVER['REQUEST_URI';

替換為:

$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], 'UTF-8', 'GBK');

已經測試這個是可以的

第二種方法:1、在網站的根目錄的wp-includes文件夾中找到“rewrite.php”這個文件;2、備份一下“rewrite.php”,以防修改出錯(改代碼之前我們都最好備份一下原代碼);3、打開“rewrite.php”文件中我們找到如下代碼:

1function get_tag_permastruct() {if (isset($this->tag_structure)) {return $this->tag_structure;}if (empty($this->permalink_structure)) { //修改這句$this->tag_structure = '';return false;}if (empty($this->tag_base))$this->tag_structure = $this->front . 'tag/';else$this->tag_structure = $this->tag_base . '/';$this->tag_structure .= '%tag%';return $this->tag_structure;}

4、將其中的

" if (empty($this->permalink_structure)) { ”修改為“ if (! empty($this->permalink_structure)) { ";

注意這個里面只加了一個英文“!”號,經測試,使用的這個方法非常有效。PS.直接沒找到這個文件內說的這段代碼。。。

第三種方法:最后解決中文TAG 404錯誤的方法,其實說到底就是ISAPI_Rewrite偽靜態的規則沒有寫好才導致找不到網頁文件的。其實就是更改一下規則就可以了:之前的tag偽靜態的規則

RewriteRule /tag/(.*)$ /index\.php\?tag=$1

更改后的規則

RewriteRule /tag/(.*)/$ /index\.php\?tag=$1

 

WordPress中文標簽Tags分頁打不開解決辦法

問題描述:

設置了偽靜態以后,對於中文的支持就很容易出現亂碼,除了常見的utf-8更改格式以外。有一些插件仍然會出現bug。

這里出現的問題就是中文tag,分頁會出現404或者好似500錯誤。牽扯到的插件是wp-pagenavi。

解決方法:

解決wp-pagenavi插件中文tags分頁問題

方法一:修改wp-pagenav文件

1、備份你的wp-pagenav分頁插件,形成良好的備份習慣。這里只需要對wp-pagenavi.php文件操作,如果你懶干脆只備份此文件。

2、用FTP軟件,二進制方式下載wp-pagenavi.php文件到本地,使用Editplus或Dreamweaver打開文件。搜索下面代碼(大約170行):

1return "<a href='" . esc_url(get_pagenum_link($page)) . "' class='$class'>$text</a>";

3、在此句前加“#”,或用“/**/”把詞句包含,注釋掉此段代碼。另起一行,加入如下代碼:

1return "<a href='" . esc_url(mb_convert_encoding(get_pagenum_link($page), "UTF-8","GBK")) . "' class='$class'>$text</a>";

4、保存文件,並上傳到服務器,測試你的Tags分頁是否可用。我的Tags:網站優化,截止目前為止有10個。

方法二:給中文標簽寫上別名

登錄wordpress后台,在文章標簽里。給每一個含中文的Tags標簽,加上一個標簽別名。“別名” 是URL友好的另外一個名稱。它通常為小寫並且只能包含字母,數字和連字符。

對於上百個以上中文Tags標簽的博客,此種方法工作量巨大。我看了就頭疼,因此選用了第一種方法。

這里不想去改代碼直接給標簽加上非中問的別名就可以解決了,且可以有更好的URL形式


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM