Url重写通过测试但不重定向

时间:2012-11-07 23:44:38

标签: url url-rewriting

我在iis中安装了一个URL Rewrite Module 2,我有了这个规则

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="ASPX to ASP Redirect" stopProcessing="true">
                    <match url="([_0-9a-z-\.]+).com/([_0-9a-z-]+).aspx$" />
                    <action type="Redirect" url="http://{R:1}.com/{R:2}.asp" appendQueryString="true" logRewrittenUrl="false" redirectType="Permanent" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

基本上我想要的是创建匹配的东西,如www.test.com/default.aspx,并将其重定向到它的asp版本,所以当我输入www.test.com/default.aspx时,它将重定向到www.test的.com / Default.asp的。

不确定这有什么问题。

1 个答案:

答案 0 :(得分:0)

域名不是与正则表达式匹配的网址的一部分。域名是什么真的很重要?我会说,只要网址以.aspx结尾,它就会重定向到以.asp结尾的同一页面。这很容易做到:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="ASPX to ASP Redirect" stopProcessing="true">
                    <match url="(.*)\.aspx$" />
                    <action type="Redirect" url="/{R:1}.asp" appendQueryString="true" redirectType="Permanent" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>