【问题标题】:Using Htaccess files on iis (windows 10)在 iis (windows 10) 上使用 Htaccess 文件
【发布时间】:2016-09-17 13:09:11
【问题描述】:

我找不到有关如何在 IIS (windows 10) 上执行 URL 重写的任何信息。我在 Windows 上开发网站,但有一个使用 htaccess 文件进行 URL 重写的 linux 服务器。

这里的问题是,我发现使用标准 url 重写器手动将规则输入 iis 太耗时了。您不能像在具有 htaccess 文件的 Linux 服务器上那样将它们写在文本文档中!?

有没有办法在 iis (windows 10) 上使用 htaccess 文件、web.config 文件或 ionic 的 isapi(或其他)url 重写器来写出我所有的网站 url 重写规则?这些软件包似乎都不支持此操作系统/最新的 IIS。

谢谢!

【问题讨论】:

    标签: iis url-rewriting windows-10


    【解决方案1】:

    我遇到了同样的问题,但幸运的是 IIS URL Rewrite 2.1 模块中有一个方便的快捷方式,可以将 .htaccess 文件直接转换为等效的 web.config;

    1. 在 IIS 中,双击 URL 重写模块
    2. 在“操作”窗格中,单击“导入规则”
    3. 将 .htaccess 文件的内容粘贴到“重写规则”文本框中
    4. Viola,您的 .htaccess 规则已转换为 IIS web.config 规则

    这里有一篇文章:https://blogs.msdn.microsoft.com/azureossds/2015/04/23/converting-apache-htaccess-rules-to-iis-web-config-using-iis-manager-for-azure-websites/,它提供了该过程的图解分步指南。这篇文章专门针对 Azure,但我在 Windows 10 上使用 IIS 进行 localhost dev 并且效果很好。

    【讨论】:

      【解决方案2】:

      IIS URL 重写模块的所有规则都存储在文本文件中,可以是本地 web.config 文件,也可以是全局 ApplicationHost.config 文件。您还可以使用rewrite.config 之类的自定义配置文件,并将其包含在您的 web.config 中,例如:

      <system.webServer>
          <rewrite>
            <rules configSource="rewrite.config" />
          </rewrite> 
      </system.webServer>
      

      IIS url 重写对于 Server 2008 上的 7.0 以来的所有 IIS 版本都是相同的,并且在 Windows 10 中没有任何变化,那里有很多关于它的资源。

      【讨论】:

      • 我已经调查过了。确实我可以做到这一点,但是我正在考虑使用 htaccess 文件在 Windows 机器上执行 URL 重写,这样我就不需要将每个网站的所有规则从一种格式重写为另一种格式。我应该改写我的问题,并会打开一个新问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-02
      • 2021-11-21
      • 2011-08-09
      • 1970-01-01
      • 1970-01-01
      • 2016-05-21
      相关资源
      最近更新 更多