IIS Express web.config 设置(〇)

被 IIS Express 指向的站点目录下大多有个web.config文件用于该网站单独设置。

0.常见结构

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
    
    </system.webServer>
</configuration>

首行是XML的标识,因为使用的XML,configuration包裹着的是设置。以下出现设置的XML时都会包括父级标签,这样便于知道这个设置要放在哪里。

1.security标签

这个标签涉及一些安全问题相关的设置。例如:

<system.webServer>
    <security>
        <requestFiltering allowDoubleEscaping="True"/>
    </security>
</system.webServer>

在单入口的URL路由中,URL如果包含加号(+)这种符号时,默认IIS Express是不会交给站点程序处理的,这时会给出一个错误界面。但是我们往往希望给出的错误界面统一,所以修改这个设置可以让这种符号通过,再有站点程序做出处理给出页面。requestFiltering里设置allowDoubleEscaping为True就是允许这种“双转义字符”通过。

2.rewrite标签

同样在system.webServer标签下的rewrite标签可以起到重写或重定向的功能。

<system.webServer>
    <rewrite>
        <rules>
            <rule name="Entry">
                <match url=".*" />
                <action type="Rewrite" url="/index.php" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

以上是一个设置单入口的例子,rewrite标签下rules里可以放置多个rule(注意,上级是有s的)。rule有个name的属性,命名了这个rule。match标签的url是用于匹配URL的正则表达式。action标签用于真正的路由功能,type里Rewrite是重写,Redirect是重定向,url是目的URL。

3.defaultDocument标签

该标签可以设置可被IIS Express默认为首页也就是URL只有域名的默认页面文件。

<system.webServer>
    <defaultDocument>
        <files>
            <clear />
            <add value="index.php" />
        </files>
    </defaultDocument>
</system.webServer>

这个例子里files标签里clear标签清除了系统默认的设置。查看IIS Express 的applicationhost.config文件是可以看到默认的。add标签就是把这种文件名加进默认列表中。

你可能感兴趣的:(IIS Express web.config 设置(〇))