264 lines
14 KiB
XML
264 lines
14 KiB
XML
<!--
|
|
|
|
IIS URL Rewrite configuration schema.
|
|
|
|
** Please DO NOT edit this file yourself. **
|
|
|
|
If you want to add configuration sections to the schema, you may place
|
|
them in .xml files similar to this one, in this directory. They will be
|
|
picked up automatically on startup.
|
|
|
|
-->
|
|
|
|
<configSchema>
|
|
<sectionSchema name="system.webServer/rewrite/globalRules">
|
|
<collection addElement="rule" clearElement="clear" removeElement="remove">
|
|
<attribute name="name" type="string" required="true" isUniqueKey="true"/>
|
|
<attribute name="enabled" type="bool" defaultValue="true"/>
|
|
<attribute name="patternSyntax" type="enum" defaultValue="ECMAScript">
|
|
<enum name="ECMAScript" value="0"/>
|
|
<enum name="Wildcard" value="1"/>
|
|
<enum name="ExactMatch" value="2"/>
|
|
</attribute>
|
|
<attribute name="stopProcessing" type="bool" defaultValue="false"/>
|
|
<element name="match">
|
|
<attribute name="url" type="string" validationType="nonEmptyString"/>
|
|
<attribute name="ignoreCase" type="bool" defaultValue="true"/>
|
|
<attribute name="negate" type="bool" defaultValue="false"/>
|
|
</element>
|
|
<element name="conditions">
|
|
<attribute name="logicalGrouping" type="enum" defaultValue="MatchAll">
|
|
<enum name="MatchAll" value="0"/>
|
|
<enum name="MatchAny" value="1"/>
|
|
</attribute>
|
|
<attribute name="trackAllCaptures" type="bool" defaultValue="false" />
|
|
<collection addElement="add">
|
|
<attribute name="input" type="string" isCombinedKey="true"/>
|
|
<attribute name="matchType" type="enum" defaultValue="Pattern" isCombinedKey="true">
|
|
<enum name="Pattern" value="0"/>
|
|
</attribute>
|
|
<attribute name="pattern" type="string" isCombinedKey="true"/>
|
|
<attribute name="ignoreCase" type="bool" defaultValue="true" isCombinedKey="true"/>
|
|
<attribute name="negate" type="bool" defaultValue="false" isCombinedKey="true"/>
|
|
</collection>
|
|
</element>
|
|
<element name="serverVariables">
|
|
<collection addElement="set">
|
|
<attribute name="name" type="string" required="true" isUniqueKey="true" validationType="requireTrimmedString"/>
|
|
<attribute name="value" type="string" />
|
|
<attribute name="replace" type="bool" defaultValue="true" />
|
|
</collection>
|
|
</element>
|
|
<element name="action">
|
|
<attribute name="type" type="enum" defaultValue="None">
|
|
<enum name="None" value="0"/>
|
|
<enum name="Rewrite" value="1"/>
|
|
<enum name="Redirect" value="2"/>
|
|
<enum name="CustomResponse" value="3"/>
|
|
<enum name="AbortRequest" value="4"/>
|
|
</attribute>
|
|
<attribute name="url" type="string" validationType="requireTrimmedString"/>
|
|
<attribute name="appendQueryString" type="bool" defaultValue="true"/>
|
|
<attribute name="redirectType" type="enum" defaultValue="Permanent">
|
|
<enum name="Permanent" value="301"/>
|
|
<enum name="Found" value="302"/>
|
|
<enum name="SeeOther" value="303"/>
|
|
<enum name="Temporary" value="307"/>
|
|
</attribute>
|
|
<attribute name="statusCode" type="uint" validationType="integerRange" validationParameter="300,307,exclude" defaultValue="0"/>
|
|
<attribute name="subStatusCode" type="uint" validationType="integerRange" validationParameter="0,999" defaultValue="0"/>
|
|
<attribute name="statusReason" type="string"/>
|
|
<attribute name="statusDescription" type="string"/>
|
|
</element>
|
|
</collection>
|
|
</sectionSchema>
|
|
<sectionSchema name="system.webServer/rewrite/allowedServerVariables">
|
|
<collection addElement="add" clearElement="clear" removeElement="remove">
|
|
<attribute name="name" type="string" required="true" isUniqueKey="true"/>
|
|
</collection>
|
|
</sectionSchema>
|
|
<sectionSchema name="system.webServer/rewrite/rules">
|
|
<collection addElement="rule" clearElement="clear" removeElement="remove">
|
|
<attribute name="name" type="string" required="true" isUniqueKey="true"/>
|
|
<attribute name="enabled" type="bool" defaultValue="true"/>
|
|
<attribute name="patternSyntax" type="enum" defaultValue="ECMAScript">
|
|
<enum name="ECMAScript" value="0"/>
|
|
<enum name="Wildcard" value="1"/>
|
|
<enum name="ExactMatch" value="2"/>
|
|
</attribute>
|
|
<attribute name="stopProcessing" type="bool" defaultValue="false"/>
|
|
<element name="match">
|
|
<attribute name="url" type="string" validationType="nonEmptyString"/>
|
|
<attribute name="ignoreCase" type="bool" defaultValue="true"/>
|
|
<attribute name="negate" type="bool" defaultValue="false"/>
|
|
</element>
|
|
<element name="conditions">
|
|
<attribute name="logicalGrouping" type="enum" defaultValue="MatchAll">
|
|
<enum name="MatchAll" value="0"/>
|
|
<enum name="MatchAny" value="1"/>
|
|
</attribute>
|
|
<attribute name="trackAllCaptures" type="bool" defaultValue="false" />
|
|
<collection addElement="add">
|
|
<attribute name="input" type="string"/>
|
|
<attribute name="matchType" type="enum" defaultValue="Pattern">
|
|
<enum name="Pattern" value="0"/>
|
|
<enum name="IsFile" value="1"/>
|
|
<enum name="IsDirectory" value="2"/>
|
|
</attribute>
|
|
<attribute name="pattern" type="string"/>
|
|
<attribute name="ignoreCase" type="bool" defaultValue="true"/>
|
|
<attribute name="negate" type="bool" defaultValue="false"/>
|
|
</collection>
|
|
</element>
|
|
<element name="serverVariables">
|
|
<collection addElement="set">
|
|
<attribute name="name" type="string" required="true" isUniqueKey="true" validationType="requireTrimmedString"/>
|
|
<attribute name="value" type="string" />
|
|
<attribute name="replace" type="bool" defaultValue="true" />
|
|
</collection>
|
|
</element>
|
|
<element name="action">
|
|
<attribute name="type" type="enum" defaultValue="None">
|
|
<enum name="None" value="0"/>
|
|
<enum name="Rewrite" value="1"/>
|
|
<enum name="Redirect" value="2"/>
|
|
<enum name="CustomResponse" value="3"/>
|
|
<enum name="AbortRequest" value="4"/>
|
|
</attribute>
|
|
<attribute name="url" type="string" validationType="requireTrimmedString"/>
|
|
<attribute name="appendQueryString" type="bool" defaultValue="true"/>
|
|
<attribute name="logRewrittenUrl" type="bool" defaultValue="false"/>
|
|
<attribute name="redirectType" type="enum" defaultValue="Permanent">
|
|
<enum name="Permanent" value="301"/>
|
|
<enum name="Found" value="302"/>
|
|
<enum name="SeeOther" value="303"/>
|
|
<enum name="Temporary" value="307"/>
|
|
</attribute>
|
|
<attribute name="statusCode" type="uint" validationType="integerRange" validationParameter="300,307,exclude"/>
|
|
<attribute name="subStatusCode" type="uint" validationType="integerRange" validationParameter="0,999" defaultValue="0"/>
|
|
<attribute name="statusReason" type="string"/>
|
|
<attribute name="statusDescription" type="string"/>
|
|
</element>
|
|
</collection>
|
|
</sectionSchema>
|
|
<sectionSchema name="system.webServer/rewrite/outboundRules">
|
|
<attribute name="rewriteBeforeCache" type="bool" defaultValue="false" />
|
|
|
|
<element name="customTags">
|
|
<collection addElement="tags" clearElement="clear" removeElement="remove">
|
|
<attribute name="name" type="string" required="true" isUniqueKey="true"/>
|
|
<collection addElement="tag" clearElement="clear" removeElement="remove">
|
|
<attribute name="name" type="string" required="true" isCombinedKey="true" validationType="nonEmptyString" />
|
|
<attribute name="attribute" type="string" required="true" isCombinedKey="true" validationType="nonEmptyString"/>
|
|
</collection>
|
|
</collection>
|
|
</element>
|
|
|
|
<element name="preConditions">
|
|
<collection addElement="preCondition" clearElement="clear" removeElement="remove">
|
|
<attribute name="name" type="string" required="true" isUniqueKey="true"/>
|
|
<attribute name="logicalGrouping" type="enum" defaultValue="MatchAll">
|
|
<enum name="MatchAll" value="0"/>
|
|
<enum name="MatchAny" value="1"/>
|
|
</attribute>
|
|
<attribute name="patternSyntax" type="enum" defaultValue="ECMAScript">
|
|
<enum name="ECMAScript" value="0"/>
|
|
<enum name="Wildcard" value="1"/>
|
|
<enum name="ExactMatch" value="2"/>
|
|
</attribute>
|
|
<collection addElement="add">
|
|
<attribute name="input" type="string" isCombinedKey="true"/>
|
|
<attribute name="matchType" type="enum" defaultValue="Pattern" isCombinedKey="true">
|
|
<enum name="Pattern" value="0" isCombinedKey="true"/>
|
|
</attribute>
|
|
<attribute name="pattern" type="string" isCombinedKey="true"/>
|
|
<attribute name="ignoreCase" type="bool" defaultValue="true" isCombinedKey="true"/>
|
|
<attribute name="negate" type="bool" defaultValue="false" isCombinedKey="true"/>
|
|
</collection>
|
|
</collection>
|
|
</element>
|
|
|
|
<collection addElement="rule" clearElement="clear" removeElement="remove">
|
|
<attribute name="name" type="string" required="true" isUniqueKey="true"/>
|
|
<attribute name="preCondition" type="string"/>
|
|
<attribute name="enabled" type="bool" defaultValue="true"/>
|
|
<attribute name="patternSyntax" type="enum" defaultValue="ECMAScript">
|
|
<enum name="ECMAScript" value="0"/>
|
|
<enum name="Wildcard" value="1"/>
|
|
<enum name="ExactMatch" value="2"/>
|
|
</attribute>
|
|
<attribute name="stopProcessing" type="bool" defaultValue="false"/>
|
|
<element name="match">
|
|
<attribute name="filterByTags" type="flags" default="None">
|
|
<flag name="None" value="0"/>
|
|
<flag name="A" value="1"/> <!--href-->
|
|
<flag name="Area" value="2"/> <!--href-->
|
|
<flag name="Base" value="4"/> <!--href-->
|
|
<flag name="Form" value="8"/> <!--action-->
|
|
<flag name="Frame" value="16"/> <!--src,longdesc-->
|
|
<flag name="Head" value="32"/> <!--profile-->
|
|
<flag name="IFrame" value="64"/> <!--src,longdesc-->
|
|
<flag name="Img" value="128"/> <!--src,longdesc,usemap-->
|
|
<flag name="Input" value="256"/> <!--src,usemap-->
|
|
<flag name="Link" value="512"/> <!--href-->
|
|
<flag name="Script" value="1024"/> <!--src-->
|
|
<flag name="CustomTags" value="32768"/> <!--Use filter attribute-->
|
|
</attribute>
|
|
<attribute name="customTags" type="string"/>
|
|
<attribute name="serverVariable" type="string" />
|
|
<attribute name="pattern" type="string"/>
|
|
<attribute name="occurrences" type="int64" defaultValue="0"/>
|
|
<attribute name="ignoreCase" type="bool" defaultValue="true"/>
|
|
<attribute name="negate" type="bool" defaultValue="false"/>
|
|
</element>
|
|
<element name="conditions">
|
|
<attribute name="logicalGrouping" type="enum" defaultValue="MatchAll">
|
|
<enum name="MatchAll" value="0"/>
|
|
<enum name="MatchAny" value="1"/>
|
|
</attribute>
|
|
<attribute name="trackAllCaptures" type="bool" defaultValue="true" />
|
|
<collection addElement="add">
|
|
<attribute name="input" type="string" isCombinedKey="true"/>
|
|
<attribute name="matchType" type="enum" defaultValue="Pattern" isCombinedKey="true">
|
|
<enum name="Pattern" value="0"/>
|
|
</attribute>
|
|
<attribute name="pattern" type="string" isCombinedKey="true"/>
|
|
<attribute name="ignoreCase" type="bool" defaultValue="true" isCombinedKey="true"/>
|
|
<attribute name="negate" type="bool" defaultValue="false" isCombinedKey="true"/>
|
|
</collection>
|
|
</element>
|
|
<element name="action">
|
|
<attribute name="type" type="enum" defaultValue="None">
|
|
<enum name="None" value="0"/>
|
|
<enum name="Rewrite" value="1"/>
|
|
</attribute>
|
|
<attribute name="value" type="string" />
|
|
<attribute name="replace" type="bool" defaultValue="true"/>
|
|
</element>
|
|
</collection>
|
|
</sectionSchema>
|
|
<sectionSchema name="system.webServer/rewrite/providers">
|
|
<collection addElement="provider" clearElement="clear" removeElement="remove">
|
|
<attribute name="name" type="string" required="true" isUniqueKey="true" validationType="requireTrimmedString"/>
|
|
<attribute name="type" type="string" required="true" validationType="requireTrimmedString" />
|
|
<element name="settings">
|
|
<collection addElement="add" clearElement="clear" removeElement="remove">
|
|
<attribute name="key" type="string" required="true" isUniqueKey="true" validationType="nonEmptyString" />
|
|
<attribute name="value" type="string" />
|
|
<attribute name="encryptedValue" type="string" encrypted="true" defaultValue="[enc:AesProvider::enc]" />
|
|
</collection>
|
|
</element>
|
|
</collection>
|
|
</sectionSchema>
|
|
<sectionSchema name="system.webServer/rewrite/rewriteMaps">
|
|
<collection addElement="rewriteMap" clearElement="clear" removeElement="remove">
|
|
<attribute name="name" type="string" required="true" isUniqueKey="true" validationType="requireTrimmedString"/>
|
|
<attribute name="defaultValue" type="string"/>
|
|
<attribute name="ignoreCase" type="bool" defaultValue="true"/>
|
|
<collection addElement="add" clearElement="clear" removeElement="remove">
|
|
<attribute name="key" type="string" required="true" caseSensitive="true" isUniqueKey="true"/>
|
|
<attribute name="value" type="string"/>
|
|
</collection>
|
|
</collection>
|
|
</sectionSchema>
|
|
</configSchema> |