一. 去掉 index.php
1. 編寫404.php 文件,上傳保存到博客根目錄(和wordpress 的 index.php 在同一個(gè)目錄)。文件內(nèi)容如下;
代碼如下:
<?php
$qs = $_SERVER['QUERY_STRING'];
$pos = strrpos($qs, '://');
$pos = strpos($qs, '/', $pos + 4);
$_SERVER['REQUEST_URI'] = substr($qs, $pos);
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
include('index.php');
?>
2. 打開(kāi)IIS管理工具-博客屬性-自定義錯(cuò)誤-404;404.2;404.3;
類型選擇URL,地址輸入:/404.php 前面的“/”務(wù)必保留;
3. 登錄wordpress后臺(tái),在固定鏈接/永久鏈接(Permalinks)設(shè)置項(xiàng)目- 自定義結(jié)構(gòu)里去掉index.php
二. 去掉 category
1.修改固定鏈接設(shè)置,去掉分類鏈接前綴Category
打開(kāi)固定鏈接/永久鏈接設(shè)置項(xiàng)。在“可選設(shè)置”里的“分類地址前綴”里輸入半角字符: “.”;保存即可去掉分類前綴category。
優(yōu)點(diǎn):設(shè)置簡(jiǎn)單,老少皆宜。適用于初建成的博客,或剛打算使用固定鏈接 /永久鏈接的博客。用不著修改代碼,升級(jí)之時(shí)沒(méi)有顧慮;用不著插件,不會(huì)增加運(yùn)行負(fù)擔(dān)。
缺點(diǎn):原鏈接無(wú)法打開(kāi),出現(xiàn)404錯(cuò)誤。被搜索引擎收錄良好,或分類鏈接有較多外鏈鏈入的博客,可要萬(wàn)分小心了。不要因?yàn)椴僮骱?jiǎn)單、省時(shí)省力而損失了大量外鏈及權(quán)重。
2、借助Wordpress插件,去掉分類前綴Category:
1、WP No Category Base:作者iDope,是為去除固定鏈接中分類鏈接里的category而開(kāi)發(fā)出來(lái)的一款wordpress插件,被下載近5萬(wàn)次。安裝啟用此插件后,對(duì)原來(lái)的分類地址做了301跳轉(zhuǎn),對(duì)SEO優(yōu)化有好處,把降權(quán)風(fēng)險(xiǎn)降到最低。
下載地址:WordPress官方下載;
2、No category parents:作者milardovich,上面插件的升級(jí)版,不僅能去掉分類鏈接的前綴category,還能去掉父分類parent-category。例如能把“/category/parent-category/my-category/”換成“/my-category/”形式。
下載地址:WordPress官方下載;
優(yōu)點(diǎn):安裝簡(jiǎn)單,老少皆宜。無(wú)論是初建成的博客,還是正打算使用固定鏈接/永久鏈接的博客,還是被搜索引擎收錄良好的博客。用不著修改代碼,升級(jí)之時(shí)沒(méi)有顧慮。使用301跳轉(zhuǎn),把原鏈接進(jìn)行跳轉(zhuǎn)。最大程度防止搜索引擎降權(quán),防止原鏈接打不開(kāi)。
不足:插件或許會(huì)造成空間負(fù)擔(dān)。這里不說(shuō)是缺點(diǎn),就是因?yàn)椋斐傻?ldquo;空間負(fù)擔(dān)”微乎其微,不應(yīng)該是缺點(diǎn)。比較在意的就不用,無(wú)所謂推薦使用。
3、修改Wordpress函數(shù),去掉分類前綴Category:(3.3.1沒(méi)找到對(duì)應(yīng)函數(shù)...)
1、找到你Wordpress博客wp-includes文件夾下的category-template.php。
2、打開(kāi)此文件,搜索(get_category_link()函數(shù)里):
$catlink = $wp_rewrite->get_category_permastruct();
在其后,另起一行加入:
$catlink = str_replace(‘/category’ , ” , $catlink);
代碼作用是,使用字符串替換函數(shù),把獲取分類鏈接函數(shù)的分類鏈接里的/category替換掉。達(dá)到去掉分類鏈接前綴/category的目的。
3、保存上傳到服務(wù)器即可。
優(yōu)點(diǎn):僅加入一段代碼,性能影響忽略不計(jì)。適用于對(duì)代碼稍熟悉的博客。
缺點(diǎn):修改代碼,博客升級(jí)還要修改。且原地址仍可以訪問(wèn)。或會(huì)造成谷歌網(wǎng)站管理員工具里提到的,重復(fù)的標(biāo)題。
4、我是怎么去除Category的:
修改固定鏈接地址是網(wǎng)站SEO的大忌,能不動(dòng)則不動(dòng),動(dòng)一發(fā)牽全身。如果已經(jīng)到了非動(dòng)不可的地步,提早動(dòng),快速動(dòng)是必須的。動(dòng)的過(guò)程中,要充分考慮到用戶(外鏈鏈入)和搜索引擎權(quán)重——使用301跳轉(zhuǎn)是明智之舉。
1、使用WP No Category Base插件,讓原鏈接地址301跳轉(zhuǎn)到新地址;
2、耐心等待若干時(shí)日,搜索引擎拋棄原地址后,對(duì)使用修改Wordpress函數(shù)的方式;
3、可以使用第二第三兩者兼顧的辦法。Wordpress插件照樣使,Wordpress函數(shù)照樣修改,若干時(shí)間后,禁用刪除插件即可。
IIS環(huán)境下wordpress中永久鏈接去掉index.php最后發(fā)現(xiàn)兩種已成功實(shí)現(xiàn)的方案:
第一種方案:
不需要第三方插件cos-html-cache支持,利用服務(wù)器有自定義404錯(cuò)誤頁(yè)面的功能解決問(wèn)題,但前提是你的服務(wù)器或者主機(jī)有自定義404錯(cuò)誤頁(yè)面的功能。如果是服務(wù)器那肯定可以支持,如果是虛擬主機(jī),需你的服務(wù)器供應(yīng)商提供自定義404錯(cuò)誤頁(yè)面選項(xiàng)。你只需創(chuàng)建一個(gè)404錯(cuò)誤頁(yè)面,并且寫入下列幾行代碼即可簡(jiǎn)單優(yōu)雅的實(shí)現(xiàn)無(wú)插件完美支持windows iis主機(jī)的永久固定鏈接的偽靜態(tài)化地址格式。
具體設(shè)置步驟:
1.用DW新建一個(gè)PHP文檔,并且頁(yè)面屬性里面把編碼設(shè)置成UTF-8,在里面寫入下面代碼,保存,命名為404.php。將404.php上傳到網(wǎng)站根目錄。
代碼如下:
<?php
header("HTTP/1.1 200 OK");
$ori_qs = $_SERVER['QUERY_STRING'];
$pattern = '/[^;]+;[^:]+://[^/]+(/[^?]*)(?:?(.*))?/i';
preg_match($pattern, $ori_qs, $matches);
$_SERVER['PATH_INFO'] = $matches[1] . '?' . $matches[2];
$_SERVER['REQUEST_URI'] = $_SERVER['PATH_INFO'];
$query_args = explode('&', $matches[2]);
unset($_GET);
foreach ($query_args as $arg)
{
$the_arg = explode('=', $arg);
$_GET[$the_arg[0]] = $the_arg[1];
}
include('index.php');
?>
我開(kāi)始從網(wǎng)上復(fù)制該段代碼使用的時(shí)候發(fā)現(xiàn)出現(xiàn)500錯(cuò)誤,仔細(xì)一看原來(lái)是大家轉(zhuǎn)載代碼的時(shí)候都沒(méi)有把代碼里面錯(cuò)誤的單引號(hào)修正過(guò)來(lái),網(wǎng)上流傳的這段代碼里面不少單引號(hào)都是中文全角單引號(hào),需要改成英文半角的才可以。上面的我已經(jīng)改過(guò)了。大家直接復(fù)制即可!
2.設(shè)置404自定義錯(cuò)誤指向404.php,一般來(lái)說(shuō),絕大多數(shù)服務(wù)器控制面板均提供該選項(xiàng)。
3.進(jìn)入wordpress管理后臺(tái),設(shè)置(Options)-永久鏈接(Permalinks),你就當(dāng)自己的主機(jī)是linux主機(jī)使好了,任意、隨便設(shè)置自己喜歡的偽靜態(tài)地址格式及靜態(tài)地址后綴。
例如:
/y%year%/%post_id%.html
/%year%/%monthnum%/%post_id%/
/%year%/%monthnum%/%postname%.html
我用的格式是:/%year%/%monthnum%/%postname%/
第二種方案:
無(wú)Rewrite用cos-html-cache實(shí)現(xiàn)靜態(tài)化
要求:使用cos-html-cache插件
具體下載,設(shè)置步驟和使用方法請(qǐng)查看插件作者的說(shuō)明:cos-html-cache插件鏈接。
用起來(lái)有點(diǎn)麻煩,我還是選擇了第一種 :razz: 。
看來(lái)大家有點(diǎn)小麻煩,可能我也不知道是怎么回事。我把我正常用的404文件打包了,大家可以下載了試試!