文章目錄
如果WordPress網站同時包含了2個域名(帶有www域名和沒有www域名)都能訪問時,是非常不利於SEO權重的集中,以及後續的搜索引擎優化收錄。
我們該如何解決?
這需要將不帶www 的域名永久301 重定向到帶www 的域名。
網站根域名301重定向www域名好處
好處是可以提升域名權重。
301重定向實際上是域名權重的轉移。
例如,當 chenweiliang.com
重定向到 www.chenweiliang.com
時,實際上是把 chenweiliang.com
的權重轉移到了 www.chenweiliang.com
,從而提升了 www.chenweiliang.com
的域名。
- 提升搜索引擎優化效果;
- 有利於網頁權重傳遞;
- 優化網頁收錄。
當我們打開電商網站時,會出現兩個完全相同的頁面。
- 這時,搜索引擎蜘蛛會反复爬取。
- 重複的頁面會導致搜索引擎的誤判。
- 這時候就需要使用301重定向來處理,優化網頁收錄;
更好的用戶體驗:沒有重複的頁面,用戶會更好地記住我們的網站,提高網站的記憶力,獲得更好的用戶體驗。
網站不帶www 二級域名的缺點
- 少數用戶可能無法將etUfo.org 識別為網址;
- 少數用戶只會識別帶www 網址格式的二級域名
www.etufo.org
頂級域名如何301重定向到www?
以下是基於Linux服務器實現的解決方案。
第1 步:新建.htaccess文件
通常我們的電腦使用Windows操作系統,是不能直接新建.htaccess文件。
必須先新建一個htaccess.txt文件,後面會介紹如何修改名稱。
第2 步:將以下代碼複製到txt文檔中
RewriteEngine On RewriteCond %{http_host} ^chenweiliang.com$ [NC] RewriteRule ^(.*)$ http://www.chenweiliang.com/$1 [R=301,L]
- “RewriteEngine On”,開啟Rewrite Rule開關;
- “RewriteCond” 是指重寫條件。
- 之後的字符串由正則表達式匹配,匹配的字符串以^ 開頭,以$ 結尾。
- 這裡%{http_host} 是獲取當前主機名。條件為“當主機名為
chenweiliang.com
”時,將執行以下重寫規則。 - “[NC]”表示不區分大小寫;
- “RewriteRule”,定義重寫規則。這裡的意思:跳轉到URL中“
http://www.chenweiliang.com/
”訪問請求chenweiliang.com
之後的部分。 - [R=301]表示重寫為301重定向/跳轉([R]單指跳轉,與[R=302]含義相同),[L]表示最後一條匹配規則。
第3 步:上傳htaccess.txt文件並修改名稱
使用FTP工具將htaccess.txt文件上傳到網站根目錄,改名為“.htaccess
”,注意前面有個點。
- 如果文件已存在,請將代碼複製到其中。
- 這樣,當你訪問一個不帶www的域名時,它會自動重定向到帶www的域名。
- 通過上面的方法,不帶www域名可以自動跳轉到帶www的域名。
注意事項:這裡修改後可能會發現文件丟失了。
這是因為“.htaccess
”文件被視為隱藏文件,不會顯示。
可以打開FTP工具,這里以XFTP軟件為例,在【工具】→【選項】 ▼
【常規】→勾選【顯示隱藏文件】 ▼
在此分享通用的帶www 域名重定向到不帶www的域名規則,以及不帶www的域名跳轉到帶www的域名規則。
帶www 域名重定向到不帶www的域名規則
將帶www的頂級域名301重定向到根域名規則▼
RewriteEngine on RewriteCond %{HTTP_HOST} ^www.chenweiliang.com [NC] RewriteRule ^(.*)$ http://chenweiliang.com/$1 [L,R=301]
以下帶www的頂級域名301重定向到根域名規則,可直接複製(無需修改規則裡的域名) ▼
RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
不帶www的頂級域名跳轉到帶www的域名規則
不帶www的頂級域名跳轉到帶www的域名規則 ▼
RewriteEngine On RewriteCond %{http_host} ^chenweiliang.com$ [NC] RewriteRule ^(.*)$ http://www.chenweiliang.com/$1 [R=301,L]
以下不帶www的頂級域名跳轉到帶www的域名規則,可直接複製(無需修改規則裡的域名) ▼
RewriteEngine On RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
301重定向規則位置問題
在偽靜態規則下,放置重定向跳轉規則時,通常會遇到 http 無法全站重定向到https 的問題。
最初我們將重定向代碼複製到.htaccess中,它將出現在以下情況 ▼
- [L]表示當前規則是最後一條規則,停止分析後面重寫規則。
- 因此在訪問重定向的文章頁面時,[L]停止了後面的規則,所以重定向規則不能起作用。
訪問http主頁時,我們希望觸發網址重定向,跳過偽靜態規則以執行重定向跳轉規則,以便可以實現全站http 重定向到https 。
不要將https重定向規則放在 [L] 規則的下面,要放在 [L] 規則上面 ▼
網站主域名有沒有必要重定向www?
如果你直接使用如 chenweiliang.com
這樣的頂級域名作為你的博客域名,那麼使用子域名作為圖床不能實現Cookie-free。
- 因為頂級域名
chenweiliang.com
會向所有被請求的靜態文件的二級域名服務器發送cookie。
如果你想支持Cookie-free的圖床,則需要使用不同的域名來實現Cookie-free。
- 陳溈亮部落格使用
www.chenweiliang.com
的子域名沒有問題。
詳情請瀏覽此文 ▼
如果需要排除301重定向繞過偽靜態例外文件夾目錄,請查看下方教程▼
希望陳溈亮博客( https://www.chenweiliang.com/ ) 分享的《不帶www頂級域名自動跳轉訪問二級域名:根域名301重定向www》,對您有幫助。
歡迎分享本文鏈接:https://www.chenweiliang.com/cwl-27630.html
歡迎加入陳溈亮博客的Telegram 頻道,獲取最新更新!
📚 這份指南蘊含價值巨大,🌟難逢的機遇,切勿錯失良機! ⏰⌛💨
喜歡就分享和按贊!
您的分享和按贊,是我們持續的動力!