Ребят, помогите сделать редирект.
Есть старые страницы каталога типа
example.com/catalog/item
Нужно сделать
example.com/item
Причем, если там, перед item встречается view, редирект отклоняется.
То есть если
example.com/catalog/view/item
то адрес сохраняется.
У меня есть такое, но в некоторых случаях оно почему-то работать отказывается
RewriteRule ^catalog/([^view].*)$ $1 [R=301,L]
Проблема в том, что если адрес такой
example.com/catalog/injektsionnye_preparaty/
то не работает. Помогите пожалуйста.
@saidolim хорошо. Смотрите, если у меня есть правило
RewriteRule ^catalog/([^view].*)$ $1 [R=301,L]
строка
http://example.com/catalog/view/theme
то её не должно никак обрабатывать.
А если поступает строка
http://example.com/catalog/peptids_and_gr
то она обрабатывается и становится такой:
http://example.com/peptids_and_gr
Также должно быть и со строкой
http://example.com/catalog/injektsionnye_preparaty
Но почему-то ничего не происходит, хотя view после catalog нету.
То есть, как я понимаю, если бы было
http://example.com/catalog/view/injektsionnye_preparaty
То тогда да, не прошло бы.. А тут обе эти строки не проходят
http://example.com/catalog/injektsionnye_preparaty
http://example.com/catalog/view/injektsionnye_preparaty
Что скажете?
Ответ
А почему просто не пробовали
RewriteCond %{REQUEST_URI} !^catalog/view/(.*)$
RewriteRule ^catalog/(.*)$ $1 [R=301,L]
для тестирование http://htaccess.madewithlove.be/
Тест 1
http://example.com/catalog/item
=>
http://example.com/item
Тест 2
http://example.com/catalog/view/item
=>
http://example.com/catalog/view/item
Тест 3
http://example.com/catalog/injektsionnye_preparaty/
=>
http://example.com/injektsionnye_preparaty/
Комментариев нет:
Отправить комментарий