【问题标题】:RewriteBase is not supported in IISIIS 不支持 RewriteBase
【发布时间】:2019-11-01 00:37:32
【问题描述】:

我正在使用URL Rewriter Module从IIS中的htaccess文件转换重写规则,但出现以下错误。

此指令未转换,因为 IIS 不支持它: 重写基础/

当该行被注释掉时,转换过程继续。我现在的问题是,如何在 IIS 中为所有重写规则设置基本路径?

【问题讨论】:

  • IIS 重写规则的设计理念不同,因此您无法转换任何内容。学习 IIS 并以它的方式写作。
  • 你能分享你的htaccess规则吗?你的要求是什么? RewriteBase 是根据定义规则的位置自动计算的,因此如果您在站点的 /path 下定义规则,它将成为这些规则的基础。如果要为特定路径设置规则,请从 iis 服务器节点中选择该路径并为此添加 url 重写。
  • 刚刚有时间回复这个。 @JalpaPanchal 您的评论通常会回答与我在forums.iis.net/t/1162790.aspx 在这里找到的问题相同的问题。您能否将其发布为答案,我很乐意标记它。
  • @LexLi,好吧,我找到了一种使用 URL 重写模块将重写规则从 htaccess 文件成功转换为 IIS web.config 的方法。有关更多信息,请参阅我上面提到的链接。

标签: asp.net apache iis mod-rewrite url-rewriting


【解决方案1】:

我建议你忽略.htaccess 中的RewriteBase /,因为web.config 认为重写规则的基本URL 是当前目录/。

因此,对于每个子目录,您都需要一个单独的 web.config 文件。

【讨论】:

    【解决方案2】:

    您能分享您的 htaccess 规则吗?您的要求是什么? RewriteBase 是根据定义规则的位置自动计算的,因此如果您在站点的 /path 下定义规则,它将成为这些规则的基础。 如果要为特定路径设置规则,请从 iis 服务器节点中选择该路径并为其添加 url 重写。

    它将在该文件夹中创建一个 web.config 文件。

    您也可以参考下面的帖子了解更多详情:

    https://forums.iis.net/t/1162790.aspx

    问候, 哈尔帕

    【讨论】:

      猜你喜欢
      • 2020-06-21
      • 2017-12-22
      • 2015-10-14
      • 1970-01-01
      • 1970-01-01
      • 2015-11-16
      • 2010-11-29
      • 2014-04-16
      • 2010-09-25
      相关资源
      最近更新 更多