You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过.htaccess实现带端口的服务器站点301重定向?

问题解答

现有配置可用性判断

你编写的Redirect 301 "http://example.com:5557" "http://203.0.113.111:5557"配置不可用。原因是Apache的Redirect指令仅匹配请求的路径部分,不支持直接匹配域名、端口信息,将完整URL放在第一个参数的位置无法命中任何请求。

需求实现方案

该需求完全可以通过.htaccess文件实现,需先确认两个前置条件:

  • Apache已启用mod_rewrite模块
  • example.com:5557对应站点的配置中已开启.htaccess权限(即AllowOverride All配置项已开启)

将以下规则写入example.com:5557站点根目录下的.htaccess文件即可:

RewriteEngine On
# 匹配请求域名是example.com且端口为5557的请求
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteCond %{SERVER_PORT} ^5557$
# 301永久重定向到目标地址,保留原请求路径与参数
RewriteRule ^(.*)$ http://203.0.113.111:5557/$1 [L,R=301]

规则说明

  • [NC]参数表示匹配域名时不区分大小写
  • [L,R=301]表示该条规则为当前生效的最后一条规则,同时返回301永久重定向状态码
  • 规则末尾的$1会自动携带原请求的路径、参数,例如访问http://example.com:5557/doc?id=2会自动跳转到http://203.0.113.111:5557/doc?id=2;如果不需要保留原路径,所有请求统一跳转到目标根目录,去掉$1即可

注意事项

测试阶段建议先将R=301改为R=302使用临时重定向,避免浏览器缓存301规则导致后续调整不生效,确认规则符合预期后再改回301。

内容的提问来源于stack exchange,提问作者Sharlene Delaney

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 18:00:05