如何通过 .htaccess 从子目录托管主域名
您的主域名默认使用 public_html 目录来存放所有网站文件。附加域名使用 public_html 目录中的子目录。 要从您的托管帐户中的子文件夹托管主域名,您需要在 public_html 文件夹中的 .htaccess 配置文件中设置重定向,以便服务器能够识别对主域名的任何请求并将其重定向到 public_html 的子目录。
通过 .htaccess 文件从子文件夹托管主域名
如果您使用 Joomla、Drupal 或 WordPress,建议您遵循官方文档中的说明,而不是按照这些说明操作。请参见下面的链接以获取特定于您的 CMS 的说明。
- Drupal 安装在子目录中,但显示在根目录
- Joomla - 在目录/子目录之间移动站点
- 为 WordPress 提供自己的目录
要通过 .htaccess 从子文件夹托管主域名:
-
登录到您的 Bluehost 帐户管理器。
-
在左侧菜单中点击 Hosting。

-
接下来,点击 FILE MANAGER。

-
在屏幕右上角寻找设置按钮。
-
从这里,点击 Preferences 弹出窗口,并勾选 Show Hidden Files(隐藏文件)。

-
右键点击 .htaccess 文件,然后从菜单中点击 Edit。

-
可能会弹出对话框询问编码;点击 Edit 按钮继续。编辑器将在新窗口中打开。
-
修改 .htaccess 文件。
以下代码必须添加到您托管帐户的 public_html 文件夹中的 .htaccess 文件中。您需要插入以下代码块,并根据(#)注释进行相应的修改。 您需要将两个 example.com 替换为您的域名,将三个 subdirectory 替换为您希望的网站文件夹。
# %%brandDomain%%
# .htaccess 主域名到子目录重定向
# 不要更改此行。
RewriteEngine on
# 将 example.com 更改为您的主域名。
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
# 将 'subdirectory' 更改为您将用于主域名的目录。
RewriteCond %{REQUEST_URI} !^/subdirectory/
# 不要更改以下两行。
RewriteCond %{REQUEST_FILENAME} !-f
访问您网站的访客将无法察觉您的主域名使用了子目录;他们仍然会看到网站地址为 http://www.example.com/page.html。 请注意,这在某些网站应用程序中可能无法正常工作。要完成此过程,您可能还需要修改 $base_url、$live_site 或其他配置设置。
总结
如果您想从托管帐户中的子文件夹托管主域名,您需要在位于 public_html 文件夹中的 .htaccess 配置文件中设置重定向。您必须修改 .htaccess 文件并添加特定代码以实现此目的。 然而,重要的是要注意,这种方法可能与某些网站应用程序有所不同。如果您使用 Joomla、Drupal 或 WordPress,建议您遵循官方文档中提供的说明。通过从子文件夹托管主域名,您可以保持网站的良好组织,并使访客更容易导航。