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

URL重写失效:需将/blog/category/路径替换为/

解决IIS URL重写:替换/blog/category/路径为根路径

我来帮你搞定这个URL重写的问题!先从最基础的检查开始,再给你正确的配置和注意事项:

第一步:确认URL Rewrite模块已安装

这是关键前提——IIS默认没有自带URL重写模块,你得先装上:

  • 打开IIS管理器,查看你的站点是否有「URL Rewrite」的图标;
  • 如果没有,打开Web平台安装器,搜索「URL Rewrite」并安装。

第二步:根目录Web.config的正确配置

把下面的代码添加到网站根目录的Web.config文件的<system.webServer>节点内(如果已经有<rewrite>节点,就把规则加进去):

情况1:内部重写(地址栏URL不变)

适合需要后台映射路径,但用户看到的还是原URL的场景:

<system.webServer>
  <rewrite>
    <rules>
      <!-- 移除/blog/category/路径的重写规则 -->
      <rule name="Remove Blog Category Path" stopProcessing="true">
        <!-- 匹配以blog/category/开头的所有URL -->
        <match url="^blog/category/(.*)$" />
        <!-- 重写为根路径加上捕获到的后续内容 -->
        <action type="Rewrite" url="/{R:1}" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>

情况2:外部重定向(地址栏URL会更新为新路径)

适合需要让用户地址栏显示简化后URL的场景(比如SEO优化):

<system.webServer>
  <rewrite>
    <rules>
      <!-- 移除/blog/category/路径的重定向规则 -->
      <rule name="Redirect Blog Category Path" stopProcessing="true">
        <match url="^blog/category/(.*)$" />
        <!-- 301永久重定向,适合SEO;如果是临时需求可以用302 -->
        <action type="Redirect" url="/{R:1}" redirectType="Permanent" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>

第三步:常见问题排查

如果配置后还是不生效,检查这几点:

  • 确认Web.config放在网站根目录,不是/blog子目录;
  • 检查IIS站点的权限,确保应用程序池账户有读取Web.config的权限;
  • 用URL Rewrite模块的「测试模式」验证规则:输入你的测试URL,看是否匹配成功;
  • 确保没有其他重写规则干扰——stopProcessing="true"会让这个规则处理完成后不再执行后续规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 06:58:00