Правило перезаписи, которое переписывает промежуточный путь - PullRequest
4 голосов
/ 22 апреля 2020

Мне нужно было бы написать правило переписывания, чтобы статьи из:

www.olddomain.com/categoryA/categoryB/article.html

были перенаправлены на:

www.newdomain.com/categoryC/categoryD/article.html

Так что проблема здесь в том, что статья. * Страница 1020 * не меняется с одного сайта на другой, но промежуточные пути (категории) различны. Я пытался кодировать это правило:

RewriteRule ^(categoryA/categoryB/.+)$ http://www.newdomain.com/categoryC/categoryD/$1 [L,NC,R=301,NE]

Однако правило перенаправляет с:

http://www.olddomain.com/categoryA/categoryB/article.html

на

http://www.newdomain.com/categoryC/categoryD/categoryA/categoryB/article.html

Можете ли вы предложить мне способ исключить «старая» категория при выполнении перенаправления? Я ожидаю перенаправления на:

http://www.newdomain.com/categoryC/categoryD/article.html

Большое спасибо

1 Ответ

1 голос
/ 27 апреля 2020

Так просто, как это:

RewriteRule ^categoryA/categoryB/([^/]+)\.html$ http://www.newdomain.com/categoryC/categoryD/$1.html [R=301,L,NC,NE]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...