Ubuntu URL重写配置全攻略(手把手教你设置Apache与Nginx的URL重写规则)

来源:这里教程网 时间:2026-03-28 20:04:48 作者:

在搭建网站时,你是否希望将丑陋的动态链接(如

example.com/index.php?id=123
)变成美观、SEO友好的静态链接(如
example.com/article/123
)?这就需要用到URL重写技术。本文将详细讲解如何在Ubuntu系统中为常见的Web服务器(Apache 和 Nginx)配置URL重写规则,即使你是零基础的小白,也能轻松上手!

一、什么是URL重写?

URL重写(URL Rewriting)是一种将用户请求的URL地址在服务器内部转换为另一个真实路径的技术。它不仅能让网址更简洁、易读,还能提升搜索引擎优化(SEO)效果,增强网站安全性。

二、准备工作

在开始之前,请确保你已满足以下条件:

一台运行 Ubuntu 系统的服务器(推荐 Ubuntu 20.04 或 22.04) 已安装 Apache 或 Nginx Web 服务器 拥有 sudo 权限

三、Apache 配置 URL 重写(使用 mod_rewrite)

如果你使用的是 Apache,需要启用

mod_rewrite
模块。

步骤 1:启用 mod_rewrite 模块

在终端中执行以下命令:

sudo a2enmod rewritesudo systemctl restart apache2

步骤 2:配置虚拟主机或 .htaccess 文件

你可以选择在站点的虚拟主机配置文件中添加规则,也可以使用

.htaccess
文件(需确保 AllowOverride 设置为 All)。

编辑你的站点配置文件(例如

/etc/apache2/sites-available/000-default.conf
),在
<Directory>
块中加入:

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

然后重启 Apache:

sudo systemctl restart apache2

步骤 3:创建 .htaccess 文件并编写重写规则

在网站根目录(如

/var/www/html
)下创建
.htaccess
文件:

sudo nano /var/www/html/.htaccess

添加如下基本重写规则(以将

/article/123
映射到
article.php?id=123
为例):

RewriteEngine OnRewriteRule ^article/([0-9]+)/?$ article.php?id=$1 [L]

保存并退出。现在访问

http://your-domain/article/123
就能正常加载内容了!

四、Nginx 配置 URL 重写规则

如果你使用的是 Nginx,URL 重写通过

rewrite
指令实现,无需额外模块。

步骤 1:编辑站点配置文件

通常位于

/etc/nginx/sites-available/
目录下。例如:

sudo nano /etc/nginx/sites-available/default

步骤 2:添加重写规则

server
块中添加如下规则:

server {    listen 80;    server_name your-domain.com;    root /var/www/html;    index index.html index.php;    location /article/ {        rewrite ^/article/([0-9]+)/?$ /article.php?id=$1 last;    }    location ~ \.php$ {        include snippets/fastcgi-php.conf;        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;    }}

步骤 3:测试并重载 Nginx

sudo nginx -tsudo systemctl reload nginx

配置成功后,同样可以访问

http://your-domain/article/123

五、常见问题排查

404 错误:检查重写规则语法是否正确,路径是否存在。 500 内部错误:查看 Apache 的
/var/log/apache2/error.log
或 Nginx 的
/var/log/nginx/error.log
日志。 .htaccess 不生效:确认
AllowOverride All
已设置。

六、总结

通过本文,你已经学会了在 Ubuntu 系统中为 ApacheNginx 配置 URL重写规则。无论你是想提升网站 SEO 效果,还是让 URL 更加用户友好,这些技巧都非常实用。记住关键词:Ubuntu URL重写Apache mod_rewriteNginx URL重写规则Linux服务器URL美化,它们将帮助你在未来快速检索相关知识。

动手试试吧!如有疑问,欢迎在评论区留言交流。

相关推荐

热文推荐