You need to enable JavaScript to run this app. Apache.htaccess实现IP替换且保留URL其余部分的重定向配置
优惠活动
大模型
产品
解决方案
定价
更多

Apache.htaccess实现IP替换且保留URL其余部分的重定向配置

Apache 基于.htaccess实现旧IP转新IP的全路径保留重定向方案

前置必要检查

  • 确认Apache已加载mod_rewrite模块,可通过执行apache2ctl -M(Debian/Ubuntu系)或httpd -M(CentOS/RHEL系)命令查看已启用模块列表
  • 确认站点对应目录的Apache配置中,AllowOverride权限设置为All或至少包含FileInfo标识,否则.htaccess内的重写规则不会被服务器解析生效

核心配置

在站点根目录的.htaccess文件中写入如下规则:

RewriteEngine On

# 匹配所有以旧IP为主机头的访问请求,不区分大小写
RewriteCond %{HTTP_HOST} ^127\.0\.0\.1$ [NC]
# 301永久重定向到新服务器IP,完整保留原请求的全部路径和查询参数
RewriteRule ^(.*)$ http://192.196.1.1/$1 [R=301,L,QSA]

规则参数说明

  • [NC]:主机头匹配时忽略大小写,避免因为请求头格式差异导致规则失效
  • [R=301]:返回301永久重定向状态码,可引导浏览器、搜索引擎自动更新旧IP对应的访问索引,长期降低旧IP的无效访问量
  • [L]:匹配当前规则后立即终止后续规则的执行流程,避免其他重定向规则产生冲突
  • QSA:自动将原URL中携带的查询参数(如?id=123&sort=time)拼接到新的跳转地址后,不会丢失请求附带的参数信息

实际跳转效果示例

  • 原请求http://127.0.0.1/files/image.png → 跳转至http://192.196.1.1/files/image.png
  • 原请求http://127.0.0.1/blog/post/123?page=2 → 跳转至http://192.196.1.1/blog/post/123?page=2
  • 原请求http://127.0.0.1/api/user/info → 跳转至http://192.196.1.1/api/user/info

注意事项

  • 配置修改后无需重启Apache服务,.htaccess规则会实时加载,可直接通过浏览器访问旧IP下的测试路径验证跳转结果
  • 后续如果需要将新IP替换为正式域名,仅需将规则中的http://192.196.1.1/替换为目标域名即可,其余规则无需调整

内容的提问来源于stack exchange,提问作者Steve Bonsko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.09 05:36:10