跳到主要内容

如何通过 .htaccess 从子目录托管主域名

您的主域名默认使用 public_html 目录来存放所有网站文件。附加域名使用 public_html 目录中的子目录。 要从您的托管帐户中的子文件夹托管主域名,您需要在 public_html 文件夹中的 .htaccess 配置文件中设置重定向,以便服务器能够识别对主域名的任何请求并将其重定向到 public_html 的子目录。

通过 .htaccess 文件从子文件夹托管主域名

如果您使用 Joomla、Drupal 或 WordPress,建议您遵循官方文档中的说明,而不是按照这些说明操作。请参见下面的链接以获取特定于您的 CMS 的说明。

  • Drupal 安装在子目录中,但显示在根目录
  • Joomla - 在目录/子目录之间移动站点
  • 为 WordPress 提供自己的目录

要通过 .htaccess 从子文件夹托管主域名:

  1. 登录到您的 Bluehost 帐户管理器。

  2. 在左侧菜单中点击 Hosting
    Bluehost Account Manager - Hosting Tab

  3. 接下来,点击 FILE MANAGER
    BH Account Manager - Hosting File Manager option

  4. 在屏幕右上角寻找设置按钮。

  5. 从这里,点击 Preferences 弹出窗口,并勾选 Show Hidden Files(隐藏文件)。
    Preferences window with options to show hidden files and set web root directory for 'example.com'

  6. 右键点击 .htaccess 文件,然后从菜单中点击 Edit
    .htaccess file option, selecting Edit

  7. 可能会弹出对话框询问编码;点击 Edit 按钮继续。编辑器将在新窗口中打开。

  8. 修改 .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,建议您遵循官方文档中提供的说明。通过从子文件夹托管主域名,您可以保持网站的良好组织,并使访客更容易导航。