IIS7 URL重写短网址

时间:2012-11-22 12:32:10

标签: iis-7 url-rewriting

我一直在研究一个小的链接长度的抑制器网站,似乎无法在IIS7上找到它。我习惯于使用isapi rewrite和mod_rewrite。

以下情况有效:
可以说我有test.com,这是主域名。域应该正常处理所有文件。但是,当/.*不是目录或文件时,它应该将其发送到redirect.asp?text=(.*)

这就是我的web.config看起来像

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
    <rewrite>
    <rules>
        <rule name="YOURLS 1" stopProcessing="true">
            <match url="^([0-9A-Za-z-]+)$" ignoreCase="false" />
            <conditions logicalGrouping="MatchAll">
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
            </conditions>
            <action type="Rewrite" url="redirect.asp?test={R:1}" appendQueryString="false" />
        </rule>
    </rules>
    </rewrite>
</system.webServer>

2 个答案:

答案 0 :(得分:0)

您的规则可能没有太大问题,除非您使用test(带有's')作为web.config中的查询字符串参数,但在您的文字中,您说它是应该是text。一个错字或者也许这就是它无法正常工作的原因?

        <action type="Rewrite" url="redirect.asp?text={R:1}" appendQueryString="false" />

答案 1 :(得分:0)

这似乎与URL重写器的错误版本有关。我安装了最新的2.0,它已经修好了!