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

IIS重写/重定向规则在GitHub Pages代理中的问题排查

IIS Rewrite/Redirect Issues When Proxying to GitHub Pages Hosted Sites

我最近处理了用IIS重写/重定向规则代理GitHub Pages站点时遇到的两个棘手问题,整理下解决方案和思路,帮大家避坑:

问题1:缺少末尾斜杠时请求跳转到GitHub Pages原地址

现象

代理重写规则本身能正常工作,但当访问的URL没有末尾斜杠时(比如http://blog.elmah.io/posts),请求会被自动重定向到GitHub Pages的原始地址(比如http://elmahio.github.io/blog/posts/),而不是我们的代理域名。

原因

这是GitHub Pages自带的自动补全斜杠机制导致的,当它检测到路径应该带斜杠时,会直接跳转到自己的域名下的对应路径,绕过了我们的代理。

解决方案

在代理规则之前添加一个补全末尾斜杠的重定向规则,确保所有符合条件的请求先补上斜杠,再走代理逻辑。规则代码如下:

<rule name="Add Trailing Slash" stopProcessing="true">
    <match url=".*[^/]$" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
        <add input="{REQUEST_FILENAME}" pattern=".+?\.\w+$" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
    </conditions>
    <action type="Redirect" url="{ToLower:{R:0}}/" />
</rule>

对应的原代理重写规则如下(注意顺序:补斜杠规则要放在这个代理规则前面):

<rule name="Proxy" stopProcessing="true">
    <match url="(.*)" />
    <conditions logicalGrouping="MatchAll">
        <add input="{REQUEST_URI}" negate="true" pattern="^(.*)/.well-known/(.*)$"/>
    </conditions>
    <action type="Rewrite" url="http://elmahio.github.io/blog/{R:1}" />
</rule>

问题2:首页无法从HTTP重定向到HTTPS

现象

自定义的HTTPS重定向规则对带路径的URL(比如http://blog.elmah.io/posts)有效,但访问首页时——不管是http://blog.elmah.io/还是http://blog.elmah.io——都无法自动跳转至HTTPS。

解决方案

尝试调试自定义规则无果后,我直接删掉了自己写的重定向规则,转而在Azure站点设置里启用HTTPS Only功能,问题瞬间解决,所有URL(包括首页)都能正常跳转到HTTPS了。

给大家参考下那个失效的自定义HTTPS重定向规则:

<rule name="RedirectToHTTPS" stopProcessing="true">
    <match url="(.*)"/>
    <conditions>
        <add input="{HTTPS}" pattern="off" ignoreCase="true"/>
    </conditions>
    <action type="Redirect" url="https://{SERVER_NAME}/{R:1}" redirectType="Permanent"/>
</rule>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:14:07