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 может показаться тривиальной - но попробуйте.