如何让 IIS 支持无后缀名访问
前言
网上找了很多方法都太复杂了,配置写法和 iis 版本又有差异,于是找到了最简单的方法,仅需下载一个叫 URL Rewrite 的插件以及掌握一点正则的知识
step1 下载安装
下载
微软官方下载地址
https://www.iis.net/downloads/microsoft/url-rewrite
直接下载
https://files.cnblogs.com/files/xunzhiyou/urlrewrite2.zip
iis 平台下安装
搜索
安装完后会如下图所示多了 URL Rewrite 选项卡,如果没有看到重启一下iis
step2 新建htaccess文件
在网站根目录下新建一个 .htaccess 文件,它是url-rewrite2组件相关的配置文件,用于定义重写规则,如下以php为例
RewriteEngine on #将RewriteEngine引擎设置为on,就是让url重写生效;
RewriteBase/ #用于设定重写的基准URL,注意"RewriteBase"和"/"之间没有空格
RewriteRule ^(.*)/([\w-]+)$ $1/$2.php
step3 导入规则
选择一个网站 => 双击 URL Rewrite 选项卡 =>选择导入规则
如果导入成功就能看到图下所示
浏览器输入地址测试 php 文件,测试成功
我们再看 web.config 配置文件发现自动写入了以下规则
<rewrite>
<rules>
<rule name="Imported Rule 2">
<match url="^(.*)/([\w\-]+)$" ignoreCase="false" />
<action type="Rewrite" url="{R:1}/{R:2}.php" />
</rule>
</rules>
</rewrite>
拓展
官方文档
详解IIS中URL重写工具的规则条件(Rule conditions)
详解IIS中URL重写工具的匹配URL-规则模式(rule patterns)
详解IIS中的重写工具下关于操作重定向URL中的{R:N}与{C:N}