Я так не думаю. Вы на правильном пути, изменив URL на маршруте и сделав перманентное перенаправление 301 - путь. Для 301 попробуйте использовать модуль перезаписи URL.
Модуль перезаписи
<!-- Web.config file in subdirectory to be redirected -->
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="RedirectRule" stopProcessing="true">
<match url="(.*)" ignoreCase="true" />
<action type="Redirect" url="http://www.newdomain.com/{R:1}" redirectType="Permanent" />
<conditions>
<add input="{HTTP_HOST}" pattern="www\.old-domain\.com" />
</conditions>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
ISAPI_Rewrite
RewriteCond Host: ^mydomain\.co.uk
RewriteRule /news http://www.mydomain.co.uk/uk-news [I,O,RP,L]
I (игнорировать регистр)
Указывает, что символы сопоставляются независимо от регистра. Этот флаг влияет на директиву RewriteHeader и все соответствующие директивы RewriteCond.
O (Нормализовать)
Нормализует строку перед обработкой. Нормализация включает удаление URL-кодировки, недопустимых символов и т. Д. Кроме того, нормализация IRI URI полностью удаляет строку запроса. Таким образом, нормализация не должна использоваться, если требуется строка запроса. Этот флаг полезен для URL-адресов и заголовков в кодировке URL.
RP (постоянное перенаправление)
Почти так же, как флаг [R], но выдает 301 (навсегда перемещенный) код состояния HTTP вместо 302 (перемещенный временно).
L (последнее правило)
Остановите процесс переписывания здесь и не применяйте больше правил переписывания.