在本教程中,我们将学习设置 URL 重写 Apache 使用 mod_rewrite
在 Ubuntu 上。
目录
URL 重写的先决条件 Apache
- 一个 Ubuntu 20.04 系统
- 带着 Apache 安装在上面的 HTTP 服务器
(在这里学习如何安装 Apache Ubuntu 上的 HTTP 服务器)
什么是 URL 重写?
URL 重写的目的是将 URL 的外观更改为对用户更友好的 URL。 这种修改称为 URL 重写。
为了 example, 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 None
到 AllowOverride All
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>
然后,重新启动 Apache HTTP 服务器通过执行以下命令应用配置:
sudo service apache2 restart
第 3 步:创建 .htacccess 文件
现在,要创建一个 .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
模块按照上面提到的步骤。
我们希望这篇文章对您有所帮助。 感谢您的阅读! ?