.htaccess 301 重定向

最后修改时间:2026年5月20日

Apache 的 .htaccess 文件可以在目录级别配置重定向。它常用于共享主机、旧页面迁移、整站换域名和 URL 规范化。

如果你能修改 Apache 主配置文件,优先在 httpd.conf 或虚拟主机配置中写重定向;如果无法访问主配置,再使用 .htaccess

.htaccess 重定向写法

把下面的规则添加到旧页面所在目录的 .htaccess 文件中。如果文件不存在,可以新建一个纯文本文件并命名为 .htaccess

单个页面永久重定向

/old-page.html 永久重定向到新的页面地址。

.htaccess:

Redirect 301 /old-page.html https://www.example.com/new-page.html

整站更换域名

把旧站所有路径重定向到新域名。规则应放在旧网站根目录的 .htaccess 文件中。

.htaccess:

Redirect 301 / https://www.newdomain.com/

启用 .htaccess 配置

如果上传了 .htaccess 但规则没有生效,通常是 Apache 主配置没有允许目录覆盖。需要在对应目录中启用 AllowOverride

httpd.conf:

<Directory /srv/www/example.com/public_html/>
  AllowOverride All
</Directory>

注意:频繁读取 .htaccess 会带来额外开销。可管理服务器时,把规则写进主配置通常更清晰、性能也更好。

使用 httpd.conf 配置重定向

如果你有权限修改 httpd.conf 或虚拟主机配置,可以直接添加 Redirect 指令。修改完成后需要重启或重新加载 Apache。

httpd.conf:

<Directory /srv/www/example.com/public_html/>
  Redirect 301 /old-page.html https://www.example.com/new-page.html
</Directory>

检查模块和重启服务:

$ apache2ctl -M
$ sudo systemctl reload apache2

常见问题

.htaccess 重定向和 httpd.conf 重定向有什么区别?

.htaccess 适合共享主机或无法修改主配置的站点;httpd.conf 由服务器主配置统一加载,性能更好,也更适合可控服务器环境。

.htaccess 文件应该放在哪里?

通常放在旧页面所在目录或网站根目录。规则的作用范围从该目录向下生效,整站迁移一般放在旧站根目录。


也可以看看

广告

网站开发
常用链接