怎样使用 htaccess 重定向和保留原始 URL

有时您可能需要在不更改 URL 的情况下重定向域页面 Apache 网络服务器。 以下是使用 .htaccess 重定向和保留原始 URL 的方法。 您可以使用它在不更改 URL 的情况下重定向域或页面。

怎样使用 htaccess 重定向和保留原始 URL

以下是使用 htaccess 重定向和保留原始 URL 的步骤。 在继续之前,请确保您已设置 mod_rewrite 和 mod_proxy Apache. 以下是步骤

  1. 启用 mod_rewrite Apache
  2. 在中启用 mod_proxy Apache

假设您想重定向旧域 www 中的所有页面。example.com 到新域 www.example2.com 而不更改 URL

奖励阅读:怎样修复 504 网关错误 Apache

1.打开.htaccess文件

打开 Apache 文本编辑器中的 Web 服务器的 .htaccess 文件。 您可以根据服务器配置修改以下文件位置。

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

奖励阅读:怎样修复 500 个内部服务器错误 Apache

2. 重定向域名而不改变 URL

在 DOCUMENT_ROOT 目录中添加以下几行

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^(www.)?example.com$ [NC]
RewriteRule ^ https://www.example1.com%{REQUEST_URI} [L,NE,P]

让我们看看上面的几行。

第一行允许您使用符号链接,而第二行如果尚未启用则启用 mod_rewrite。

RewriteBase 允许您定义重写的基本 URL。 RewriteCond 检查传入请求的 HTTP_HOST 值以与您的旧域 www 匹配。example。和

RewriteRule 将这些请求重定向到他们的新域 www.example1.com。 但是,由于我们使用 RewriteRule 中的标志, Apache 将其作为代理请求处理而不更改 URL。

奖励阅读:怎样在 Ubuntu/CentOS 中安装 mod_deflate

3.重启 Apache 服务器

重新开始 Apache 网络服务器

$ sudo systemctl restart apache2

现在你的 Apache Web 服务器将自动重定向域页面而不更改 URL。

BYNSS 可以在几分钟内轻松可视化数据,并在实时仪表板中进行监控。 今天就试试吧!