@Cooliq

Как настроить 301 редирект через htaccess без затрагивания дочерних ссылок?

На сайте есть каталог с категориями
site.ru/catalog
site.ru/catalog/category1
site.ru/catalog/category2
...

Изменился url каталога. Как настроить редирект через файл htaccess, чтобы 301 перенаправление затрагивало только одну родительскую страницу, без дочерних? Чтобы стало так:
site.ru/tovari
site.ru/catalog/category1
site.ru/catalog/category2
...

Если прописываю просто редирект - «Redirect 301 /catalog http://site.ru/tovari», то меняется URL как самой страницы, так и всех дочерних. Получается вот так:
site.ru/tovari
site.ru/tovari/category1
site.ru/tovari/category2
...


Update: разобрался сам
Необходимо в файле .htaccess прописывать такую конструкцию:
RedirectMatch 301 /catalog^ http://site.ru/tovari
Директива RedirectMatch позволяет использовать регулярные выражения:
<ul>
	<li>Круглые скобки () используются для выделения групп символов. В дальнейшем к ним можно обращаться по номеру.</li>
	<li>Символ ^ обозначает начало строки.</li>
	<li>Символ $ обозначает конец строки.</li>
	<li>Символ . обозначает любой символ.</li>
	<li>Символ | обозначает альтернативу. Например, выражения "A|B" означают "A или B".</li>
	<li>Символ ? ставится после символа (группы), который может как присутствовать, так и отсутствовать.</li>
	<li>Символ * ставится после символа (группы), который может отсутствовать или присутствовать неограниченное число раз подряд.</li>
	<li>Символ + действует аналогично символу * с той лишь разницей, что предшествующий ему символ обязательно должен присутствовать хотя бы один раз.</li>
	<li>Квадратные скобки [] используются для перечисления допустимых символов.</li>
	<li>Квадратные скобки [^] используются для перечисления недоступных символов.</li>
	<li>Символ \ ставится перед спецсимволами, если они нужны в своем первозданном виде.</li>
	<li>Все, что расположено после символа '#', считается комментарием.</li>
</ul>
  • Вопрос задан
  • 639 просмотров
Пригласить эксперта
Ответы на вопрос 1
shambler81
@shambler81 Куратор тега htaccess
^ - начало строки
$ - конец строки
^/tovari/category1$
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы