Urlrewritingnet 301重定向奇怪的行为

时间:2014-09-17 08:11:53

标签: php umbraco urlrewriting.net

我将一个站点从php系统迁移到Umbraco。 我想将所有旧网址(es:index.php?...)重定向到当前网站根目录,所以我写了一条规则:

<urlrewritingnet xmlns="http://www.urlrewriting.net/schemas/config/2006/07">
    <rewrites>        
        <add name="301RedirectDirUrlsOldSite" virtualUrl="^http\://www.mysite.it/index.php(.*)" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="http://www.mysite.it/" redirect="Domain" redirectMode="Permanent" ignoreCase="true" />
    </rewrites>
</urlrewritingnet> 

规则工作正常,但重定向也包括查询字符串参数。例如,我点火 www.mysite.it/index.php?p=10&url=test 我已经重定向到相同的网址(没有404),但没有重定向到 www。 mysite.it 只是我想象的那样。我的规则有什么可以改变的吗?

1 个答案:

答案 0 :(得分:2)

在Umbraco中重写php我使用以下适用于您的内容:

<add name="phpRewrites" virtualUrl="^~/(.*)\.php(.*)" rewriteUrlParameter="IncludeQueryStringForRewrite" redirect="Application" redirectMode="Permanent" destinationUrl="~/" ignoreCase="true" />

virtualUrl&amp;的差异destinationUrl可能看似微不足道 - 但是试一试。