如何设置 URL 重写 Apache 在 Ubuntu 上?

在本教程中,我们将学习在 Apache 使用 mod_rewrite 在 Ubuntu 上。

URL重写的先决条件 Apache

  • 一个 Ubuntu 20.04 系统
  • 带着 Apache 安装在其上的 HTTP 服务器
    (在这里学习如何安装 Apache Ubuntu 上的 HTTP 服务器)

什么是 URL 重写?

URL 重写的目的是将 URL 的外观更改为更用户友好的 URL。 这种修改称为 URL 重写。

例如, https://example.com/form.html 可以改写为 https://example.com/form 使用 URL 重写。

在不同的 Web 框架中有几个模块用于 URL 重写。
在里面 Apache HTTP 服务器, mod_rewrite 模块用于此目的,在本文中,我们将学习如何设置它。

设置 mod_rewrite 的步骤 Apache 在 Ubuntu 上

按照步骤设置 URL 重写 Apache 借助 HTTP 服务器 mod_rewrite 模块。

第 1 步:在中启用 mod_rewrite 模块 Apache

要启用 mod_rewrite 模块,执行以下命令:

sudo a2enmod rewrite 

然后重新启动 Apache HTTP 服务器与 service 命令与 sudo

sudo service apache2 restart 

或使用 systemctl 命令与 sudo

sudo systemctl restart apache2 

现在我们有 mod_rewrite 启用,我们可以进一步配置它。

步骤 2:启用 .htaccess 文件的使用

一种 .htaccess 文件允许您在每个目录的基础上更改配置。 使用 .htaccess 而不是直接对 Apache的配置文件会影响 HTTP 服务器的性能。 但是一个小 .htaccess 文件对性能的影响应该可以忽略不计。

Apache 建议使用 .htaccess 仅当您不允许在主服务器配置文件中进行更改或需要在每个目录的基础上更改配置时才使用文件。

在我们继续之前,允许使用 .htaccess 文件,启用 AllowOverride 通过更改配置 Apache 借助您最喜欢的文本编辑器的 HTTP 服务器。

sudo nano /etc/apache2/apache2.conf 

找到以下部分 /etc/apache2/apache2.conf

<Directory /var/www/>         Options Indexes FollowSymLinks         AllowOverride None         Require all granted </Directory> 

并改变,从 AllowOverride NoneAllowOverride All

<Directory /var/www/>         Options Indexes FollowSymLinks         AllowOverride All         Require all granted </Directory> 
允许覆盖无允许覆盖所有

然后,重新启动 Apache HTTP 服务器通过执行来应用配置:

sudo service apache2 restart 

第 3 步:创建 .htaccess 文件

现在,要创建一个 .htaccess 文件在您网站的根目录中。

sudo nano /var/www/html/.htaccess 

使用你喜欢的编辑器在新创建的顶部添加以下内容 .htaccess 文件:

RewriteEngine on 

这将在您的网站上启用重写引擎。

第 4 步:添加 URL 重写规则

完成上述所有步骤后,我们现在可以继续在 .htaccess 文件。

出于演示目的,我们将设置一个重写规则来显示 表单.html 页面位于 https://domain.tld/form 而不是 https://domain.tld/form.html

添加重写规则之前

要添加这样的规则,请添加 RewriteRule ^form$ form.html [NC] 略低于 RewriteEngine on.htaccess 文件使用您最喜欢的编辑器。

RewriteEngine on RewriteRule ^form$ form.html [NC] 

Save 它,现在您必须能够在 https://domain.tld/form 而不是 https://domain.tld/form.html 看到 form.html 网页

重写规则后添加重写规则后

您也可以类似地为您网站上的其他页面设置,如果您想了解有关重写规则标志的更多信息,请访问此处。

结论

URL 重写是一种有益的工具,可以将您的 URL 精美地呈现给用户和搜索引擎,这总体上增加了您网站的受欢迎程度,因为它对 SEO 更友好。 设置 URL 重写很简单 Apache 使用 mod_rewrite 模块按照上述步骤操作。

我们希望您发现这篇文章对您有所帮助。 感谢您的阅读! ?