托管在 Web 服務器上的每個域都有一個 public_html 目錄,其中包含用于該網站的所有文件。另一方面,其他插件域使用子目錄,這些子目錄在 public_html 目錄中作為子文件夾存在。
用戶可以使用 public_html 文件夾中的 .htaccess 文件來設置他們的主域,方法是使用主機帳戶上的子目錄。通過這樣做,服務器了解對您的主域的任何請求都必須重定向到 public_html 上的子目錄。這些步驟不僅適用于服務器,而且通常適用于任何 Web 服務器。讓我們更詳細地理解這個概念。
什么是主域?
主域是您在獲取服務器時購買的第一個域。簡單來說,每當您購買托管服務器時,您與服務器一起購買的域稱為主域。服務器的所有關鍵設置和控制將在此域下列出。這些設置也將適用于該服務器將托管的所有其他域。
什么是 .htaccess 文件?
Htaccess 文件是托管服務器中的配置文件,它具有關于用戶如何訪問網站的設置或控制。Htaccess 文件位于服務器的最高級別目錄中,包含有關訪問控制、重定向或 URL 縮短等信息。
在文件管理器中查找 .htaccess 文件的步驟
首先是訪問位于 public_html 文件夾中的 .htaccess 文件。由于此文件作為默認設置不可見,請按照此處提到的步驟查找并打開 .htaccess 文件:
- 用戶必須登錄到他們的Bluehost.in cPanel 帳戶。
- 轉到“文件”部分,然后單擊“文件管理器”圖標。
- 在“查看隱藏文件”復選框下,請選擇查看文件。
- 您正在使用您的主域,因此請選擇 WebRoot (public_html/www) 選項。
- 找到 .htaccess 文件后,右鍵單擊它并使用代碼編輯器選項打開。
上述步驟可用于查找隱藏的 htaccess 文件并更新它們。
編輯子文件夾 htaccess 以托管主域的步驟
下面提到的代碼必須在 Web 服務器帳戶的 public_html 文件夾中的 .htaccess 文件中使用。將代碼插入文件后,需要對代碼進行修改或更新(用# 突出顯示)。
# Bluehost.in
# .htaccess 主域到子目錄重定向
# 不要改變這一行。
重寫引擎開啟
# 將 example.com 更改為您的主域。
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
# 將“子目錄”更改為您將用于主域的目錄。
RewriteCond %{REQUEST_URI} !^/子目錄/
# 不要更改以下兩行。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# 將“子目錄”更改為您將用于主域的目錄。
重寫規則 ^(.*)$ /subdirectory/$1
# 再次將 example.com 更改為您的主域。
# 將“子目錄”更改為您將用于主域的目錄
# 后跟 / 然后是您網站的主文件、index.php、index.html 等。
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ 子目錄/index.html [L]
注意:您需要在代碼中的 2 個位置將“example.com”更新到您的域,并將“子目錄”的 3 個位置更新到您想要網站所在的文件夾。
訪問該網站的用戶將無法區分主域是否使用子目錄。這里要迭代的一件事是這些步驟不適用于某些網站軟件。在這種情況下,用戶還必須編輯和更新 $base_url、$live_site 或其他配置設置以完成這些步驟。
Joomla、Drupal 和 WordPress 用戶的步驟
對于使用 Joomla、Drupal 或 WordPress 的用戶,這些步驟不被認可。事實上,最好使用官方文檔并使用這些步驟從子文件夾 htaccess 托管主域。基于正在使用的 CMS 的詳細鏈接是:
- Drupal 安裝在子目錄中,但出現在根目錄中
- Joomla – 在目錄/子目錄之間移動站點
- 給 WordPress 自己的目錄
綜上所述
用戶可以使用 public_html 文件夾中的 .htaccess 文件并通過使用 Web 服務器帳戶上的子目錄來設置其主域。但是,用戶必須根據他們使用的 CMS 采取措施,因為所有說明可能并非在每種情況下都有效。