HestiaCP批次管理子網域:自動新增.htaccess檔案最佳方法!

想要大量管理HestiaCP子網域的.htaccess檔?本教學教你最簡單的方法,全自動加入不同規則,提升網站管理效率,適合站長必學! 🚀

網站重定向是SEO優化和流量管理的重要手段,但是,手動為每個子網域配置.htaccess文件無疑是一個巨大的工程。那麼,有沒有辦法一次批量配置?當然有!

現在,我們就來聊聊如何在HestiaCP面板下,批量為子網域的public_html目錄分別生成.htaccess文件,並寫入不同的重定向規則。

HestiaCP批次管理子網域:自動新增.htaccess檔案最佳方法!


為什麼要批量生成.htaccess檔案?

如果你有大量的子域名,並希望每個子域名都跳到特定的目錄或URL,手動配置每個.htaccess文件顯然是不切實際的。

例如,你的主網域是 chenweiliang.com,你的子網域是 af.chenweiliang.comar.chenweiliang.com等,你希望訪問 af.chenweiliang.com 的用戶跳到 www.chenweiliang.com/af/,而訪問 ar.chenweiliang.com 的用戶跳到 www.chenweiliang.com/ar/

那麼,我們可以用一個Bash 腳本來一次完成這個工作。


HestiaCP批量產生.htaccess檔案的步驟

1. 準備工作

在開始之前,你需要確認以下資訊:

  • HestiaCP用戶名(例如 youruser
  • 主域名(例如 chenweiliang.com
  • 子網域目錄結構(所有子網域的 public_html 目錄路徑形如 /home/youruser/web/子域名.chenweiliang.com/public_html/
  • 伺服器支援Bash腳本執行

2. 編寫腳本

建立一個名為 create_htaccess.sh 的文件,並貼上以下腳本內容:

#!/bin/bash

# 设置HestiaCP用户名和主域名
USER="youruser"
DOMAIN="chenweiliang.com"
# 子域名前缀列表
SUBDOMAINS="af ar bg de en es fr it ja ko ru th vi zh-TW"
# 遍历子域名前缀
for SUB in $SUBDOMAINS
do
    FULL_DOMAIN="$SUB.$DOMAIN"
    HTACCESS_PATH="/home/$USER/web/$FULL_DOMAIN/public_html/.htaccess"

    echo "正在为 $FULL_DOMAIN 生成 .htaccess 文件..."

    # 写入 .htaccess 文件内容
    echo "RewriteEngine on" > "$HTACCESS_PATH"
    echo "RewriteCond %{HTTP_HOST} ^$FULL_DOMAIN$ [NC]" >> "$HTACCESS_PATH"
    echo "RewriteRule ^(.*)$ http://www.$DOMAIN/$SUB/$1 [L,R=301]" >> "$HTACCESS_PATH"

    echo "$FULL_DOMAIN 的 .htaccess 文件已创建!"
done
echo "所有子域名的 .htaccess 文件均已生成!"

3. 賦予執行權限並執行腳本

在終端機執行以下命令:

chmod +x create_htaccess.sh
./create_htaccess.sh

運行完成後,你會看到每個子網域對應的 .htaccess 文件都已產生。


腳本解析

1. 變數定義

  • USER:HestiaCP的用戶名
  • DOMAIN:主域名
  • SUBDOMAINS:子網域前綴列表

2. 遍歷子網域並建立.htaccess

  • for SUB in $SUBDOMAINS:循環遍歷子網域前綴
  • FULL_DOMAIN="$SUB.$DOMAIN":拼接完整子域名
  • HTACCESS_PATH="/home/$USER/web/$FULL_DOMAIN/public_html/.htaccess":定義 .htaccess 文件的存放路徑
  • echo "RewriteEngine on" > "$HTACCESS_PATH":啟用 RewriteEngine
  • echo "RewriteCond %{HTTP_HOST} ^$FULL_DOMAIN$ [NC]" >> "$HTACCESS_PATH":匹配子域名
  • echo "RewriteRule ^(.*)$ http://www.$DOMAIN/$SUB/$1 [L,R=301]" >> "$HTACCESS_PATH":執行301重定向

3. 腳本執行結果

運行成功後,每個子域名的 public_html 目錄下都會產生一個 .htaccess 文件,文件內容如下(以 af.chenweiliang.com 為例):

RewriteEngine on
RewriteCond %{HTTP_HOST} ^af.chenweiliang.com$ [NC]
RewriteRule ^(.*)$ http://www.chenweiliang.com/af/$1 [L,R=301]

總結

這篇文章介紹如何使用Bash腳本,在HestiaCP中批量為子網域配置 .htaccess 文件,實現自動重定向。

透過腳本,我們可以:

  • 避免手動操作的繁瑣,提升效率
  • 減少人為錯誤,保證規則一致性
  • 快速適配多個子域名,輕鬆完成批量配置

這不僅讓你的網站管理變得更輕鬆,還能提升SEO優化效果,讓使用者存取更加順暢。

如果你也有多個子網域需要配置,不妨試試這個方法,解放雙手,事半功倍!

發表評論

您的郵箱地址不會被公開。必填項已用*標註

回到頁首