托管在 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 采取措施,因为所有说明可能并非在每种情况下都有效。