一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

WordPress seo 優(yōu)化-url rewrite重寫優(yōu)化

 溫柔一哮 2013-01-16

WordPress seo 優(yōu)化-url rewrite重寫優(yōu)化

作者 FarLee 2010年1月28日 17:50:02   ‖瀏覽(14,478)

WordPress安裝好以后,可以到后臺選擇你喜歡的wp主題模板(控制面板-外觀-添加新主題-選擇主題-安裝主題),主題安裝好以后相關(guān)文件的位置在/themes/themeName。WordPress默認(rèn)的模板和主題雖然基本都是遵循W3C標(biāo)準(zhǔn)的,為seo打下了很好的基礎(chǔ),不過仍有很多地方seo優(yōu)化是做得不夠的,因此如果想讓自己的博客在搜索引擎上的排名上升得更快一些,從而能使更多的朋友和你一起分享和交流的話,在WordPress安裝好后最好盡快進(jìn)行WordPress優(yōu)化。網(wǎng)上看到很多用WP博客的朋友到后面才去做WordPress seo 優(yōu)化,那時包括網(wǎng)站架構(gòu)和文章的url鏈接結(jié)構(gòu)等等都已經(jīng)確定了,再要修改必然大費(fèi)周折。

WordPress優(yōu)化,提到最多的就是對url的鏈接結(jié)構(gòu)進(jìn)行優(yōu)化了,即url rewrite。url 重寫(rewrite)能夠?qū)討B(tài)網(wǎng)頁偽靜態(tài)化,生成網(wǎng)頁的固定鏈接,這點(diǎn)對搜索引擎友好是公認(rèn)的。WordPress官網(wǎng)的介紹是將默認(rèn)的“丑陋的鏈接”mod_rewrite成“漂亮的固定鏈接(Permalink:永久鏈接)”。url 重寫(rewrite)其實(shí)就是應(yīng)用了服務(wù)器技術(shù)和正則表達(dá)式。

一般Linux主機(jī)都能很好地支持Apache的mod_rewrite模塊,要URL 重寫生成永久固定鏈接也很簡單,只要修改WordPress根目錄下的.htaccess文件就可以了。但是如果你不巧選擇了空間提供商的windows主機(jī),在IIS下的WordPress url重寫就不一定能得到完美的支持。下面我將WordPress 如何在apache 和IIS環(huán)境下進(jìn)行url rewrite 配置做了一下整理,以及如何在WordPress管理后臺進(jìn)行url重寫的設(shè)置步驟。

一、Apache環(huán)境下的URL rewrite:

由于Apache自帶了mod_rewrite 模塊,要實(shí)現(xiàn)URL rewrite 生成偽靜態(tài)頁面很方便。

1. 確認(rèn)apache模塊已經(jīng)開啟,打開apache目錄下的conf/httpd.conf文件,找到LoadModule Rewrite_module libexec/mod_Rewrite.so 這一行,如果前面有 # 將其去掉;在命令行使用httpd -M查看當(dāng)前模塊情況.如有rewrite_module(shared)說明模塊已經(jīng)成功加載.

2. 配置目錄的allowoverwrite屬性,然后找到下面的代碼:

<Directory />
Options FollowSymLinks
AllowOverride None <——將None改為ALL 保存httpd.conf 并重啟Apache
</Directory>

如果設(shè)置了DocumentRoot,比如DocumentRoot "c:/www";則上面的default配置不要修改,而是修改這里的:

<Directory “c:/www”>
#
# Possible values for the Options directive are “None”, “All”,
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that “MultiViews” must be named *explicitly* — “Options All”
# doesn’t give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd./docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be “All”, “None”, or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All <--將None改為ALL-->

#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all <--將Deny改為Allow-->
</Directory>

3. 創(chuàng)建.htaccess文件,新建一個txt文檔,將其命名為htaccess.txt,然后在文檔里寫入下面的代碼:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

保存為 htaccess.txt 上傳到網(wǎng)站根目錄下,最后將文件名修改為 .htaccess,這樣在apache環(huán)境下服務(wù)器端的url rewrite配置就完成了。

注1:如果你用的是虛擬主機(jī),一般成熟的Web 服務(wù)器應(yīng)用套件,都支持URL重寫的,比如drupal和joomla 。隱藏他們會默認(rèn)開啟mod_rewrite 模塊,或者你可以登陸到虛擬主機(jī)管理后臺進(jìn)行URL rewrite設(shè)置,也不需要你更改httpd.conf文件和.htaccess文件了,具體可以咨詢你的主機(jī)空間提供商。

注2:Apache服務(wù)器支持.htaccess文件,IIS是不支持的,在IIS環(huán)境下上傳了.htaccess文件也沒用。

二、IIS環(huán)境下的URL rewrite:

在windows主機(jī)IIS環(huán)境下,主機(jī)不支持mod_rewrite,有人在IIS7下測試過,WordPress有內(nèi)建的url rewrite模塊支持IIS7 。IIS 6 等的url rewrite可以有以下幾種解決辦法。

1. 第一種方法,可以在WordPress管理控制后臺設(shè)置 http:///index.php/年/月/日/日志名/ 這種形式的URL 重寫。這里的index.php不能去掉(請看下面第三大點(diǎn))。

2. 用ISAPI 實(shí)現(xiàn)url Rewrite

ISAPI 是英文“ Internet server application programming interface ”的縮寫,字面的翻譯為:英特網(wǎng)服務(wù)器應(yīng)用編程接口。實(shí)際上,ISAPI是微軟為了擴(kuò)展其主打WEB服務(wù)器產(chǎn)品IIS,為高級編程人員提供的一項(xiàng)特定技術(shù),使得編程人員可以在服務(wù)器級上使用底層的API(應(yīng)用編程接口)編程,擴(kuò)展IIS功能。編寫良好的ISAPI差不多可以接替IIS的全部工作,按照程序設(shè)計(jì)者的意圖完成WEB應(yīng)用。ISAPI編程與目前流行的其它web開發(fā)方式比較,其優(yōu)勢在于:性能、安全、全功能等方面。不少權(quán)威機(jī)構(gòu)做過評測,ISAPI在各項(xiàng)指標(biāo)上均領(lǐng)先于NSAPI(網(wǎng)景提供的一項(xiàng)服務(wù)器應(yīng)用接口技術(shù)),與目前被大量使用的web開發(fā)腳本語言,比如ASP,PHP,JSP等比較,根本不在一個數(shù)量級。對于程序員來說,直接使用“應(yīng)用編程接口”是一件令人興奮的事情。在GInfo虛擬網(wǎng)站平臺上開發(fā)網(wǎng)站,與“高效”等義。

ISAPI可用于支持URL rewrite(Url重寫)。我們可以自己將相關(guān)的dll文件上傳至指定目錄,并點(diǎn)擊添加 ISAPI篩選器 即可生效。理論上ISAPI可以支持任何系統(tǒng)的url rewrite,同時可以擴(kuò)展支持其他isapi篩選功能。

具體操作時,創(chuàng)建httpd.ini文件或修改httpd.ini的內(nèi)容,自定義RewriteRule的規(guī)則,然后上傳到指定目錄就可以了(注:以下RewriteRule重寫規(guī)則根據(jù)WordPress版本和url重寫方式的不同而有所不同,做些相應(yīng)的改動即可):

[ISAPI_Rewrite]

# WordPress rewrite rules

# /%year%%monthnum%%day%/%postname%/

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

RewriteRule /(about-me)/ /index.php\?pagename=$1

RewriteRule /category/(.*)/(feed|rdf|rss|rss2|atom)/?$ /wp-feed.php\?category_name=$1&feed=$2

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

RewriteRule /author/(.*)/(feed|rdf|rss|rss2|atom)/?$ /wp-feed.php\?author_name=$1&feed=$2

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

RewriteRule /feed/?$ /wp-feed\.php/\?feed=rss2

RewriteRule /comments/feed/?$ /wp-feed\.php/\?feed=comments-rss2

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

RewriteRule /([0-9]{4})([0-9]{1,2})([0-9]{1,2})/([^/]+)/?([0-9]+)?/?$ /index\.php\?year=$1&monthnum=$2&day=$3&name=$4&page=$5

RewriteRule /([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$ /index\.php\?year=$1&monthnum=$2&day=$3&page=$4

RewriteRule /([0-9]{4})/([0-9]{1,2})/?$ /index\.php\?year=$1&monthnum=$2&page=$3

RewriteRule /([0-9]{4})([0-9]{1,2})([0-9]{1,2})/([^/]+)/(feed|rdf|rss|rss2|atom)/?$ /index\.php\?year=$1&monthnum=$2&day=$3&name=$4&feed=$5

RewriteRule /([0-9]{4})([0-9]{1,2})([0-9]{1,2})/([^/]+)/trackback/?$ /wp-trackback.php\?year=$1&monthnum=$2&day=$3&name=$4&tb=1

3. IIS 下用404頁面實(shí)現(xiàn)url 重寫

新建一個wp-404.php文件,寫入下面的代碼,然后上傳到服務(wù)器根目錄上:

<?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');
?>

然后通過虛擬主機(jī)管理后臺軟件把404頁面指向wp-404.php。最后去WordPress后臺,設(shè)置一下Permalink(請看下面第三大點(diǎn)),刷新一下首頁,URL rewrite就可以正常工作了。在Windows 2003 + IIS6.0下試驗(yàn)成功。我覺得一些Linux主機(jī),如果不支持.htaccess的話,也可以使用這種辦法進(jìn)行URL重寫。有一個問題是不支持中文,postname和tag最好是英文的,中文的tag可以去設(shè)置一下tag slug。不過很多人懷疑用404頁面設(shè)置url rewrite 會使404頁面設(shè)置不能正常發(fā)送404 HTTP header,因此這種方法不建議使用。

三、WordPress管理后臺設(shè)置固定連接(url rewrite)

上面兩步在服務(wù)器端的url rewrite 支持解決了以后,就可以在WordPress管理后臺設(shè)置固定鏈接了。如果apache或IIS服務(wù)器端url rewrite規(guī)則沒有啟用,在控制后臺設(shè)置了固定鏈接后,將打開一個網(wǎng)頁不存在的404頁面。因?yàn)閃ordPress后臺設(shè)置固定鏈接,只是設(shè)置了你的WordPress博客架構(gòu)里的鏈接表現(xiàn)形式。具體的設(shè)置步驟如下:

1. 進(jìn)入管理后臺-設(shè)置-固定鏈接-常規(guī)設(shè)置,可以設(shè)置4種不同形式的固定鏈接,具體請見后臺。

2.注意:在永久固定鏈接中,不要出現(xiàn)日期和分類名稱,除了id,這些可以修改的變量參數(shù)最好都不要用在固定鏈接中,因?yàn)橐坏┬薷牧宋恼掳l(fā)表日期,老的固定鏈接將失效,同時一篇文章屬于多個分類時,將出現(xiàn)復(fù)制頁面。對搜索引擎不友好。不要將文件目錄設(shè)置得很深,比如年/月/日/分類名/文章名這種固定鏈接就太深了,給搜索引擎抓取頁面造成了一定的難度。另外固定鏈接中也不要出現(xiàn)中文字符,畢竟搜索引擎對中文字符的識別性不是很好,也會導(dǎo)致網(wǎng)址太長不美觀。

3.對于IIS,新增加一個頁面pages,每增加一個就要添加一個RewriteRule到httpd.ini文件中。

4.可以為分類和標(biāo)簽設(shè)置別名。文章和頁面也可以設(shè)置別名,不過只有在啟用了固定鏈接同時自定義中含有%postname%時,固定鏈接才能點(diǎn)擊設(shè)置。如果在默認(rèn)的鏈接狀態(tài)下,是無法為文章和頁面pages增加別名的。

其他關(guān)于wordpress url rewrite 的文章延伸閱讀:WordPress標(biāo)簽分頁url rewrite重寫規(guī)則WordPress url重寫日期存檔文章的固定鏈接,以及ISAPI Rewrite實(shí)現(xiàn)IIS 301轉(zhuǎn)向(重定向跳轉(zhuǎn))。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    超碰在线播放国产精品| 国产又粗又猛又大爽又黄同志| 午夜国产精品福利在线观看 | 国产成人精品99在线观看| 在线观看欧美视频一区| 国产成人亚洲综合色就色| 老外那个很粗大做起来很爽| 色好吊视频这里只有精| 精品伊人久久大香线蕉综合| 日韩成人高清免费在线| 草草夜色精品国产噜噜竹菊| 国产水滴盗摄一区二区| 亚洲欧美日本成人在线| 免费在线成人激情视频| 自拍偷女厕所拍偷区亚洲综合| 少妇人妻一级片一区二区三区 | 国产精品亚洲一区二区| 久久久免费精品人妻一区二区三区 | 高清一区二区三区不卡免费| 久久热麻豆国产精品视频| 日韩免费国产91在线| 国产成人精品在线一区二区三区| 欧美黑人在线一区二区| 国产精品涩涩成人一区二区三区| 日韩欧美一区二区亚洲| 五月婷婷缴情七月丁香 | 精品女同在线一区二区| 日本东京热加勒比一区二区| 年轻女房东2中文字幕| 在线免费国产一区二区| 大伊香蕉一区二区三区| 久久精品少妇内射毛片| 午夜福利直播在线视频| 国产综合一区二区三区av| 免费亚洲黄色在线观看| 免费观看一级欧美大片| 欧美日韩精品综合在线| 九九热最新视频免费观看| 亚洲天堂有码中文字幕视频| 亚洲中文字幕剧情在线播放| 亚洲国产精品一区二区|