拖延了半年後,我終於在最近把個人域名 shanyue.tech 經過了備案。新域名能夠更好的貼合個人博客,趁此對個人域名進行更換html
若是剛開始就使用新域名,卻是很簡單。可是更換域名就須要作一些額外的瑣碎的東西了,記錄一下nginx
本文地址 shanyue.tech/post/domain…git
在製做證書時在 domains 中添加新域名github
certbot -d shanyue.tech -d xiange.tech -d *.shanyue.tech -d *.xiange.tech ...
複製代碼
在反向代理中使用新域名代替舊有域名,如下是 traefik 在 docker 的 compose file 的示例docker
version: "3"
services:
blog:
build:
context: .
restart: always
labels:
- "traefik.old.frontend.rule=Host:blog.xiange.tech"
- "traefik.blog.frontend.rule=Host:shanyue.tech"
複製代碼
爲了防止使用舊網址打開失敗,須要進行301重定向,重定向以前思考兩個問題shell
答案是爲了 SEO
,使用 301 能夠把搜索引擎原域名的收錄給帶過去,而使用多個 domain 會下降頁面的權重frontend
百度給的建議是新舊網站並存一段時間,而後進行 301dom
version: "3"
services:
blog:
build:
context: .
restart: always
labels:
- "traefik.old.frontend.rule=Host:blog.xiange.tech"
- "traefik.old.frontend.redirect.regex=^https?://blog.xiange.tech/(.*)"
- "traefik.old.frontend.redirect.replacement=https://shanyue.tech/$$1"
- "traefik.old.frontend.redirect.permanent=true"
複製代碼
這兩個是爲了 SEO,若是你沒有此類需求,則不用改這塊post
當站點新添了頁面,能夠使用 sitmeap 更好地通知搜索引擎的小蜘蛛們,方便新頁面更快的收錄網站
須要更改 sitemap 中 的 url.loc 的絕對地址爲新域名,如下是一個 sitemap 的樣例,你也能夠經過 shanyue.tech/sitemap.xml 訪問
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://blog.xiange.tech/post/login-input-style/</loc>
<lastmod>2019-04-23T11:12:38+08:00</lastmod>
</url>`
</urlset>
複製代碼
在我博客的評論系統中使用了 github 的 OAuth Apps
,須要更改主頁及回調地址
鑑於只是一個簡單的博客,應該沒有什麼工做量了
若是域名須要 SEO,也就比較麻煩些,若是不須要的話,基本能夠使用 nginx 或者 traefik 配置多個域名就能夠了