Я изменил URL категорий на сайте. Старые такие:
www.example-name.com/category-name-точно-одинаковые-ключевые слова/
www.example-name.com/category-name-точно-одинаковые-ключевые слова/ имя-подкатегории-точно-одинаковые-ключевые слова/
Новые URL-адреса:
www.example-name.com/category-name/
www.example-name.com/category/subcategory-name/
Я удалил "-точно-одинаковые-ключевые слова"из URL категорий.
В моем .htaccess у меня есть это:
# Category 301 redirection
RewriteRule ^-some-category-suffix(.*)$ $1 [L,R=301]
Это нормально, если есть только один уровень категории, он перепишет это:
www.example-name.com/category-name-точно-одинаковые-ключевые слова/
кому:
www.example-name.com/category-name/
Но, если существует более одного уровня категории, он удаляет только последний
www.example-name.com/category-name-точно-одинаковые-ключевые слова/ имя-подкатегории-точно-одинаковые-ключевые слова/
кому:
www.example-name.com/category-точно-одинаковые-ключевые слова/ имя-подкатегории /
Как переписать (удалить) все экземпляры "-точно-одинаковые-ключевые слова", если более одного в старых URL на новые без него?
Добавить N флаг в RewriteRule, чтобы он повторялся столько раз, сколько соответствует правилу. Я не уверен, как этот флаг взаимодействует с флагами L и R; Я бы начал с того, что убрал оба из них, заставил правило работать, а затем посмотрел, какие из них вы можете вернуть.