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

如何在Elastic Beanstalk Windows实例中将根域名重定向至子目录

实现Elastic Beanstalk Windows环境根域名重定向到子目录的方法

AWS Elastic Beanstalk的Windows .NET环境默认已预装IIS URL Rewrite模块,无需额外安装依赖,可通过以下两种方案实现需求:

方案1:通过ebextensions配置全局IIS重定向规则(适配多应用托管场景)

该方案直接修改IIS根站点配置,不会影响两个.NET应用的原有运行逻辑:

  • 第一步:在项目根目录创建.ebextensions文件夹(注意名称开头的英文点),在文件夹内新建名为redirect_root.config的配置文件
  • 第二步:将以下配置写入上述文件,部署时会自动生效:
files:
  "C:\\inetpub\\wwwroot\\web.config":
    content: |
      <?xml version="1.0" encoding="UTF-8"?>
      <configuration>
        <system.webServer>
          <rewrite>
            <rules>
              <rule name="RootRedirectToStart" stopProcessing="true">
                <match url="^$" />
                <conditions logicalGrouping="MatchAll">
                  <add input="{HTTP_HOST}" pattern="^(www\.)?example\.com$" />
                </conditions>
                <action type="Redirect" url="/start/" redirectType="Permanent" />
              </rule>
            </rules>
          </rewrite>
        </system.webServer>
      </configuration>

配置修改提示:将example.com替换为你的实际域名,/start/替换为目标子目录路径;redirectType值为Permanent对应301永久重定向,如需临时重定向可改为Temporary对应302状态码。
部署注意:.ebextensions下的配置文件需保存为UTF-8无BOM格式,否则会导致Elastic Beanstalk部署失败。

  • 第三步:将.ebextensions文件夹和你的JSON部署清单一起打包,正常部署到Elastic Beanstalk即可生效。

方案2:修改单应用web.config(仅需规则作用于单个应用时使用)

如果重定向规则仅需要作用于其中一个.NET应用,可直接在该应用的web.config文件的system.webServer节点下添加方案1中的重定向规则,和应用代码一起部署即可。

规则验证方法

部署完成后清理浏览器缓存,访问根域名确认会自动跳转至目标子目录;也可以执行命令curl -I www.example.com检查响应头,正常会返回Location: /start和对应的301/302状态码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 11:06:01