Apache2配置中如何使用301重定向
作者:归人云淡风轻
时间:2026-06-28
浏览:0
Apache2中301重定向可通过两种方式实现:一是修改.htaccess文件,添加RewriteRule规则;二是在虚拟主机配置中使用Redirect指令。两者均需启用配置并重启服务,注意备份和测试。.htaccess更灵活,虚拟主机配置性能更优。
在Apache2的日常运维中,301重定向是经常会用到的功能之一——不管是网站改版、域名迁移,还是想把旧链接永久指向新地址,都离不开它。简单来说,就是告诉搜索引擎和用户:“这个页面已经搬家了,请直接去新地址。”下面梳理两种最实用的实现方式,按照自己的习惯选一种就行。

方法一:通过 .htaccess 文件操作
- 找到或创建
.htaccess文件
如果网站根目录下没有这个文件,手动创建一个即可。它通常就放在站点根目录,负责控制目录级别的访问规则。 - 编辑文件并添加重定向规则
把下面这段代码加进去:
解析一下:RewriteEngine OnRewriteRule ^old-page.html$ /new-page.html [R=301,L]RewriteEngine On是开启重写引擎,相当于告诉Apache“我要用这个功能了”。RewriteRule ^old-page.html$ /new-page.html [R=301,L]的含义是:当用户访问old-page.html时,自动跳转到new-page.html,同时返回301状态码。后面的L表示这是最后一条规则,匹配后就不再处理后续规则了。
方法二:在虚拟主机配置文件中使用 Redirect 指令
- 定位虚拟主机配置文件
通常可以在/etc/apache2/sites-a vailable/目录下找到,文件名像your-site.conf这样的就是了。 - 编辑配置文件并添加重定向
在块内部插入以下内容:
这里ServerName yourdomain.comDocumentRoot /var/www/htmlRedirect 301 /old-page.html /new-page.html Redirect 301 /old-page.html /new-page.html非常直观——凡是请求/old-page.html的,都直接转到/new-page.html,并携带301状态。 - 启用配置并重启服务
先运行sudo a2ensite your-site.conf确保配置被激活,然后用sudo systemctl restart apache2重启Apache,让改动生效。
需要留意的几个点
- 备份永远是第一步:无论改哪个文件,先复制一份再动手,万一搞砸了能快速回退。
- 测试别省略:配置完成后,用浏览器直接访问旧链接,或者用
curl -I查看返回的HTTP状态码,确认确实是301而不是其他代码。 - 权限问题:如果用
.htaccess,要确保Apache有权限读取它,否则规则不会生效。
这两种方法都能搞定301重定向,具体选哪个取决于你的场景——.htaccess 更灵活、适合无权修改服务器全局配置的环境;虚拟主机配置则更干净、性能更好,适合掌握服务器完整控制权的情况。从实践来看,很多资深运维倾向于把这类全局性规则写在虚拟主机配置里,但说到底,用起来顺手才是关键。
作者最新文章
荣耀MagicOS 11发布计划与Agent Harness架构解析
2026-09-08 19:23
AI重构企业业务架构:超聚变“智企”范式核心解析
2026-09-08 18:39
PDF合并工具怎么选?在线合并5步实操指南
2026-09-04 17:05
PDF图片压缩工具推荐与批量处理实操指南
2026-09-03 12:14
照片如何转成PDF格式?三种图片转PDF操作方法
2026-09-03 11:04
上一篇:
Ubuntu下NodeJS版本如何选择
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多


































