Urlrewritingnet 301 перенаправить странное поведение

Я перенес сайт из системы php в Umbraco. Я хотел бы перенаправить все старые URL (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. Меня перенаправили на тот же URL-адрес (без 404), но не на www.mysite.it только так, как я ожидал. Есть ли что-то, чтобы изменить мое правило?

1 ответ

Решение

На PHP переписывает в Umbraco я использую следующее, которое должно работать для вас:

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

Разница в virtualUrl & destinationUrl может показаться тривиальной - но попробуйте.

Другие вопросы по тегам