在iis上使用Htaccess文件(Windows 10)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在iis上使用Htaccess文件(Windows 10)相关的知识,希望对你有一定的参考价值。

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

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

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

谢谢!

答案

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

  1. 在IIS中,双击URL Rewrite模块
  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 for localhost dev,它运行得很好。

另一答案

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

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

自从Server 2008上的7.0以来,所有IIS版本的IIS URL重写都是相同的,并且在Windows 10中没有任何变化,有很多资源可供使用。

以上是关于在iis上使用Htaccess文件(Windows 10)的主要内容,如果未能解决你的问题,请参考以下文章

linux下的php网站放到Windows服务器IIS下导入 .htaccess文件伪静态规则转换 (wordpress)

IIS 7及IIS 7.5下面.htaccess转为web.config的方法

xml htaccess for web.config IIS(Windows Server)for Wordpress

从 Apache (.htaccess) 到 IIS 问题的 URL 重写

在iis中怎样禁止访问目录

在 Linux 上使用此 .htaccess 获取错误 500,在 Windows 上运行良好