IIS7용 XE Rewrite

지지온 2012.06.15 17:15:41 출처:

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

    <system.webServer>

        <rewrite>

            <rules>

                <rule name="rule 1" stopProcessing="true">

                    <match url="^layouts/(.+)/(.+)\.html$" ignoreCase="false" />

                    <action type="Rewrite" url="./index.php" />

                </rule>

                <rule name="rule 2" stopProcessing="true">

                    <match url="^(.+)/files/(member_extra_info|attach|cache|faceOff)/(.*)" ignoreCase="false" />

                    <conditions logicalGrouping="MatchAll">

                        <add input="{SCRIPT_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />

                    </conditions>

                    <action type="Rewrite" url="./files/{R:2}/{R:3}" />

                </rule>                <rule name="rule 3" stopProcessing="true">

                    <match url="^([a-zA-Z0-9_]+)(/[a-zA-Z0-9_]+(/entry)?)?/(files|modules|common|widgets|widgetStyle|layouts|addons)/(.*)" ignoreCase="false" />

                    <conditions logicalGrouping="MatchAll">

                        <add input="{SCRIPT_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />

                    </conditions>

                    <action type="Rewrite" url="./{R:4}/{R:5}" />

                </rule>

                <rule name="rule 4" stopProcessing="true">

                    <match url="^(rss|atom)$" ignoreCase="false" />

                    <action type="Rewrite" url="./index.php?module=rss&amp;act={R:1}" appendQueryString="false" />

                </rule>

                <rule name="rule 5" stopProcessing="true">

                    <match url="^([a-zA-Z0-9_]+)/(rss|atom|api)$" ignoreCase="false" />

                    <action type="Rewrite" url="./index.php?mid={R:1}&amp;act={R:2}" appendQueryString="false" />

                </rule>

                <rule name="rule 6" stopProcessing="true">

                    <match url="^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/(rss|atom|api)$" ignoreCase="false" />

                    <action type="Rewrite" url="./index.php?vid={R:1}&amp;mid={R:2}&amp;act={R:3}" appendQueryString="false" />

                </rule>

                <rule name="rule 7" stopProcessing="true">

                    <match url="^([0-9]+)/(.+)/trackback$" ignoreCase="false" />

                    <action type="Rewrite" url="./index.php?document_srl={R:1}&amp;key={R:2}&amp;act=trackback" appendQueryString="false" />

                </rule>

                <rule name="rule 8" stopProcessing="true">

                    <match url="^([a-zA-Z0-9_]+)/([0-9]+)/(.+)/trackback$" ignoreCase="false" />

                    <action type="Rewrite" url="./index.php?vid={R:1}&amp;document_srl={R:2}&amp;key={R:3}&amp;act=trackback" appendQueryString="false" />

                </rule>

                <rule name="rule 9" stopProcessing="true">

                    <match url="^admin/?$" ignoreCase="false" />

                    <action type="Rewrite" url="./index.php?module=admin" appendQueryString="false" />

                </rule>

                <rule name="rule 10" stopProcessing="true">

                    <match url="^([0-9]+)$" ignoreCase="false" />

                    <action type="Rewrite" url="./index.php?document_srl={R:1}" appendQueryString="false" />

                </rule>

                <rule name="rule 11" stopProcessing="true">

                    <match url="^([a-zA-Z0-9_]+)/?$" ignoreCase="false" />

                    <conditions logicalGrouping="MatchAll">

                        <add input="{SCRIPT_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />

                    </conditions>

                    <action type="Rewrite" url="./index.php?mid={R:1}" appendQueryString="false" />

                </rule>

                <rule name="rule 12" stopProcessing="true">

                    <match url="^([a-zA-Z0-9_]+)/([0-9]+)$" ignoreCase="false" />

                    <action type="Rewrite" url="./index.php?mid={R:1}&amp;document_srl={R:2}" appendQueryString="false" />

                </rule>

                <rule name="rule 13" stopProcessing="true">

                    <match url="^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/?$" ignoreCase="false" />

                    <conditions logicalGrouping="MatchAll">

                        <add input="{SCRIPT_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />

                    </conditions>

                    <action type="Rewrite" url="./index.php?vid={R:1}&amp;mid={R:2}" appendQueryString="false" />

                </rule>

                <rule name="rule 14" stopProcessing="true">

                    <match url="^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([0-9]+)$" ignoreCase="false" />

                    <action type="Rewrite" url="./index.php?vid={R:1}&amp;mid={R:2}&amp;document_srl={R:3}" appendQueryString="false" />

                </rule>

                <rule name="rule 15" stopProcessing="true">

                    <match url="^([a-zA-Z0-9_]+)/entry/(.+)$" ignoreCase="false" />

                    <action type="Rewrite" url="./index.php?mid={R:1}&amp;entry={R:2}" appendQueryString="false" />

                </rule>

                <rule name="rule 16" stopProcessing="true">

                    <match url="^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/entry/(.+)$" ignoreCase="false" />

                    <action type="Rewrite" url="./index.php?vid={R:1}&amp;mid={R:2}&amp;entry={R:3}" appendQueryString="false" />

                </rule>

            </rules>

        </rewrite>

    </system.webServer>

</configuration>