如何将子文件夹重定向到子域

有时,您可能需要将网站上的特定子文件夹/子目录移动到单独的子域。 在这种情况下,您需要将子目录重定向到子域。 以下是使用 .htaccess 文件将子文件夹重定向到子域的方法 Apache 网络服务器。

如何将子文件夹重定向到子域

以下是如何使用 .htaccess 文件将子文件夹重定向到子域。 请确保您已启用 mod_rewrite Apache Web 服务器,然后再执行这些步骤。 除此以外, Apache 不会应用 .htaccess 配置。 如果您尚未为您的网站启用 .htaccess,您可以将以下配置行添加到 Apache 服务器配置文件,httpd.conf。 然而,在您将子文件夹重定向到子域后,您可能希望使用报告软件来监控有关您的网站/应用程序的关键指标,例如使用仪表板和图表的注册、流量、销售、收入等,以确保一切正常.

1.打开.htaccess文件

你通常会发现 .htaccess 站点根文件夹中的文件(例如 /var/www/html/)。 您可以使用 vi 编辑器打开它

$ sudo vim /var/www/html/.htaccess

2. 将子文件夹重定向到子域

假设您想将 example.com/blog 目录重定向到 blog.example.com 子域。 有多种方法可以实现这一点 Apache. 我们将研究它们中的每一个。 您可以根据需要使用其中任何一个。

使用重写规则

将以下行添加到您的 .htaccess 文件中。

RewriteEngine on
RewriteBase /

RewriteRule ^/blog/(.*)$ https://blog.example.com/$1 [R=301,L]

以上几行会将所有发送到 /blog 的请求重定向到 blog.example.com 子域。 同样,您可以使用 .htaccess 文件将 HTTP 重定向到 HTTPS。

使用重定向

您也可以使用 Redirect 指令仅用一行来做同样的事情。

Redirect /blog https://blog.example.com

使用 RewriteCond

RewriteEngine on

RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^/?blog/(.*)$ https://blog.example.com/$1 [R=301]

上述规则对 www.example.com 和 example.com 都适用。 同样,您可以重定向到子文件夹 Apache.

3.重启 Apache 服务器

重新开始 Apache 应用更改的服务器

$ sudo service apache2 restart

就是这样! 现在您的网站会自动将子目录重定向到子域,即所有发送到 /blog 子文件夹的请求都将重定向到 blog.example.com 子域。

顺便说一句,如果您想创建仪表板和图表来监控您的业务或网站,您可以尝试 CodePre。 我们提供 14 天的免费试用。