.htaccess如何實現(xiàn)網(wǎng)址規(guī)范化
網(wǎng)址規(guī)范化在SEO中是一個比較重要的環(huán)節(jié),同時存在不同的網(wǎng)址版本,不但可能造成復(fù)制,還不能正確的集中權(quán)重?! ∧壳按蠖鄶?shù)網(wǎng)站,綁定域名都有帶WWW和不帶兩個版本,甚至很多網(wǎng)站同時綁定多個域名。經(jīng)過
網(wǎng)址規(guī)范化在SEO中是一個比較重要的環(huán)節(jié),同時存在不同的網(wǎng)址版本,不但可能造成復(fù)制,還不能正確的集中權(quán)重。
目前大多數(shù)網(wǎng)站,綁定域名都有帶WWW和不帶兩個版本,甚至很多網(wǎng)站同時綁定多個域名。經(jīng)過處理(跳轉(zhuǎn)、CNAME……),對于訪問者來說可能沒有任何影響,看到的都是同樣的內(nèi)容;但對于搜索引擎,就無法確定哪一個網(wǎng)址是真正的主頁。
可控因素,網(wǎng)站內(nèi)容鏈接應(yīng)該保持同一個版本,比如整站中,返回首頁的地址為固定的一個版本。但還有一個不可控的因素,就是別人鏈到你的網(wǎng)站,所使用的網(wǎng)址。很多自發(fā)鏈接或交換鏈接時,別人可能會省略掉WWW,或采用綁定的另一域名。
外界因素不可控,我們可以從網(wǎng)站內(nèi)部來控制。利用Apache的.htaccess,使用301重定向,規(guī)范網(wǎng)址。
新建一個空文件,文件名.htaccess,填入重定向規(guī)則后,上傳到網(wǎng)站根目錄。
用301將不帶WWW的域名重定向
rewriteEngine on
rewriteCond {HTTP_HOST} ^379.cc [NC]
rewriteRule ^(.*)$ http://www.379.cc/$1 [R=301,L]
用301將綁定的其他多個域名重定向到主域名
RewriteEngine on
RewriteCond {HTTP_HOST} ^379.cc$ [OR]
RewriteCond {HTTP_HOST} ^bbs.379.cc$ [OR]
RewriteCond {HTTP_HOST} ^luoyang.cc$ [OR]
RewriteCond {HTTP_HOST} ^www.luoyang.cc$ [OR]
RewriteCond {HTTP_HOST} ^bbs.luoyang.cc$
RewriteRule ^(.*)$ http://www.379.cc/$1 [R=301,L]
當然,也可以再擴展一下,將index.html、index.php等也重定向一下:
RewriteEngine on
RewriteCond {REQUEST_URI} ^[A-Z]{3,9} /index.php HTTP/
RewriteRule ^index.php$ http://www.379.cc/ [R=301,L]
Enabling SSI Via htaccess 通過htaccess允許SSI(Server Side Including)功能
AddType text/html .shtml
AddHandler server-parsed .shtml
Options Indexes FollowSymLinks Includes
DirectoryIndex index.shtml index.html
Blocking users/sites by referrer 根據(jù)referrer阻止用戶/站點訪問
需要mod_rewrite模塊
例1. 阻止單一referrer: badsite.com
RewriteEngine on
# Options FollowSymlinks
RewriteCond {HTTP_REFERER} badsite.com [NC]
RewriteRule .* - [F]
例2. 阻止多個referrer: badsite1.com, badsite2.com
RewriteEngine on
# Options FollowSymlinks
RewriteCond {HTTP_REFERER} badsite1.com [NC,OR]
RewriteCond {HTTP_REFERER} badsite2.com
RewriteRule .* - [F]
[NC] - 大小寫不敏感(Case-insensite)
[F] - 403 Forbidden
注意以上代碼注釋掉了”O(jiān)ptions FollowSymlinks”這個語句。如果服務(wù)器未在 httpd.conf 的 段落設(shè)置 FollowSymLinks, 則需要加上這句,否則會得到”500 Internal Server error”錯誤。
Blocking bad bots and site ripp