iGdux

耕读无限

Learner and Observer, be happy to share useful and nice things.
github
tg_channel
youtube
email
bluesky
follow

關於Xlog自訂域名及其跳轉設定

Xlog 的博主,云集各路高手,包括熟悉 Web3、區塊鏈技術、加密錢包等技術大牛,也包括只是想分享內容的網絡技術小白。

作為網絡技術小白,在自定義 Xlog 博客的域名時,發現了網址跳轉存在一些問題。Xlog 博客對於裸域跳轉似乎沒有教程。(本博文寫完後,看到了這個教程,但也沒有裸域跳轉的設置)我自己按照 ChatGPT 的教程並請教 Diygod 大佬,最終得以解決。此處予以記錄,同時希望能夠幫助其他 Xlog 用戶。

在設置時,為行文方便,我將以 igdux.com 域名為例來指稱裸域名,以 www.igdux.com 來指稱帶 www 的子域名;讀者朋友需要設置時,需要將 igdux.com 和 www.igdux.com 替換為你自己的域名。

本博文實際上提供了兩種跳轉方案,第三節實現的目標效果是:當我們輸入並訪問 www.igdux.com 時,便會永久跳轉 igdux.com,其中谷歌探索引擎收錄的也會是 igdux.com;第四節實現的目標效果是:當我們輸入並訪問.igdux.com 時,便會永久跳轉 www.igdux.com,谷歌探索引擎收錄的是 www.igdux.com。參考谷歌的做法,我使用和推薦的做法是第四節展示的跳轉方案。

自定義域名的步驟如下:

1.Xlog 子域名配置和完善#

或許,剛開始註冊 Xlog 時,會隨便寫個 Xlog 子域名;但子域名是可以修改的,建議修改一個簡短好記或令人印象深刻子域名。例如,我就將我的 Xlog 子域名修改為:https://igdu.xlog.app 。修改方法:進入 Xlog 控制台,點擊設置 —— 域名 —— 設置成你理想的域名,保存即可。

2. 設置自定義域名#

Xlog 免費提供了自定義域名方案。此處以我的 Xlog 博客https://igdux.com 為例。當我想要將https://igdu.xlog.app 的域名設置自定義域名https://igdux.com 時,設置方法如下:進入 Xlog 控制台,點擊設置 —— 域名 —— 自定義域名,輸入你的域名,如 igdux.com(不要輸入https:// 或 http:// ),此時,Xlog 會讓你驗證域名的主權。

如圖:

xlogdomain (1)

由於我的域名托管在大善人 Cloudflare 那裡,因而,驗證域名主權時,就需要到托管了 igdux.com 這個域名的 Cloudflare 帳號服務中設置域名驗證的值:包括一個 CNAME 值和一個 TXT 值。按照要求填好即可。

如圖:

xlogdomain (3)

如果設置好了,稍等片刻,即可通過自定義域名(也可以通過原分配的 xlog.app 子域名)訪問你的博客。

3. 設置 301 裸域跳轉,目標效果是 www.igdux.com 跳轉 igdux.com (可選方案)#

所謂裸域跳轉,即當訪問 www.igdux.com 域名時,會跳轉到不帶 www 的域名 igdux.com。而 301 即設置永久跳轉,不是臨時的,方便探索引擎識別和標記。

通常博客平台後台就有域名跳轉的選項,如 Google Blogger(注意:Blogger 默認是從不帶 www 的域名跳轉到帶 www 的域名)。而 Xlog 後台沒有設置域名跳轉選項。此時,就需要你到域名托管商如 Cloudflare 那裡設置域名跳轉。

3.1 設置 www 域名解析#

www 域名解析的設置方法有兩種,只能二選一。Diygod 選擇的是方法一,我測試方法二也成功了。

設置方法一:加一個帶 www. 的域名的 IP 解析,A 記錄值可以填寫任意的標準 IP 值(不一定是 Cloudflare 的 IP),如 192.0.2.1 或 108.162.192.233。設置好之後,如圖所示:

xlogdomain4

設置方法二:加一個帶 www 的域名的 CNAME 解析,解析的值可以是你的 Xlog.app 的子域名。以我的為例:

xlogdomain (2)

3.2 設置 301 跳轉規則#

方法一:通過 Page Rule 設置 301 跳轉
在 Cloudflare 帳戶下,選擇你綁定了 xlog.app 子域名的自定義域名,例如,我的自定義域名為 igdux.com。選中域名 —— 規則 —— 頁面規則,設置如圖:

xlogdomain 4

URL:你的域名 /* (如 google.com/*)

Pick a Setting: Forward URL; Select Status Code:301

Enter Destination URL(目標網址):https:// 你的域名 /$1

其中 /* 和 /$1 都是網絡技術通用語言,按圖設置即可。

當你設置好 3.1 和 3.2 的步驟之後,你就可以通過你的域名訪問你博客,同時,還可以實現帶裸域跳轉:以我的域名為例,當我訪問https://www.igdux.com 時,會自動跳轉到https://igdux.com 。如果設置了 3.2 域名 301 跳轉規則,沒有設置 3.1 設置 www 域名解析,就會出現 HTTP 502 錯誤。
方法二:通過 Redirect Rule 設置 301 跳轉
由於 Cloudflare 即將放棄支持 Page Rule 規則,所以,提前考慮用 Redirect Rule 設置 301 跳轉。
在 Cloudflare 帳戶下,選擇你綁定了 xlog.app 子域名的自定義域名。選中域名 ——Rules——Redirect Rules——Create Rule。
創建 Redirect Rule 時,規則名稱自定義為易記的名字,如 www2Rootdomain 等。

redirect

填寫跳轉規則如圖。需要注意的是,在設置你自己的 “如果(If)” 條件句時,要將圖中 Hostname equals www.igdux.com 的 www.igdux.com,修改為你自己的需要被跳轉的域名。而在 “那麼(Then)” 條件句填寫時,類型(Type)選擇動態(Dynamic),表達式(Expression)選擇 concat ("https://igdux.com", http.request.uri.path),你需要將其中https://igdux.com 修改你跳轉目標域名即可,跳轉狀態代碼(Status Code)選擇 301,實現永久跳轉。設置完跳轉規則之後,記得域名需要加入 Cloudflare CDN。這樣便可以實現從被跳轉域名永久地(301)跳轉到目標域名。(方法二,參考源 1的內容,特此致謝)

4. 設置 301 裸域跳轉,目標效果是 igdux.com 跳轉 www.igdux.com (推薦方案)#

自定義域名已經設置成功#

如果你 Xlog 自定義域名是 www.igdux.com,驗證的時候,根據提示來設置,除了一條域名 txt 驗證之外,還會有一條關於域名 www.igdux.com 的 CNAME 解析值的驗證,即你的 xlog 子域名(我的 xlog 子域名為 igdu.xlog.app)

image

域名驗證(鑑權)通過之後,便可以通過輸入https://www.igdux.com 訪問博客,但此時無法通過https://igdux.com 訪問博客。因而需要設定https://igdux.com 的 301 跳轉到https://www.igdux.com

設置的步驟,上面的 第 3 節 類似,只是數據需要調整下。關鍵步驟記錄如下:

將裸域名 igdux.com 進行域名解析#

方法有二:
方法一,將 igdux.com 進行 A 記錄解析,其值是任意的 IP,如圖:

image

方法二,將 igdux.com(換成你自己的裸域名)進行 CNAME 解析,其值是 cname.xlog.app,大家可以自行設置,可以成功;圖略。

設置裸域名 igdux.com 的 301 跳轉至帶 www 的子域名#

如圖:

image

至此,我們便可以通過輸入裸域名 igdux.com,便可以跳轉到帶 www 的子域名 www.igdux.com,並且博客的主地址也是帶 www 的域名 www.igdux.com。

說明:#

Google Blogger 後台雖然帶域名跳轉,不過,Blogger 默認是從不帶 www 的域名跳轉到帶 www 的域名;如果 Blogger 博主想設置裸域跳轉,在 Blogger 後台就不要設置從不帶 www 的域名跳轉帶 www 域名選項。同時,參照本文的設定,實現域名的裸域 301 跳轉。

致謝:#

感謝Diygod和 ChatGPT。出現問題後,在 ChatGPT 的幫助下和 Diygod 大佬的指點下,成功地解決了域名跳轉問題。

————

敬請關注:#

本文同步於iGengdu 博客Linux.do 論壇

關於 Xlog,之前寫的幾篇文章,敬請關注:

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。