Назад | Перейти на главную страницу

Папка перенаправления Htaccess и удаление конца URL

Я пытаюсь перенаправить некоторые URL-адреса, используя .htaccess но безуспешно. Проблема в том, что мне нужно перенаправить две разные части URL-адреса.

Вот пример того, что мне нужно перенаправить:

example.com/huawei-reparatie/huawei-mate-7-reparatie

должен быть перенаправлен на:

example.com/reparatie/huawei/huawei-mate-7

Итак, что нужно сделать:

Это динамические URL-адреса, поэтому не только этот. Мне нужно перенаправить все эти URL-адреса для множества разных брендов (например, huawei) и много разных устройств (например, huawei-mate-7)

Я надеюсь, что кто-нибудь может мне помочь.

Чтобы уточнить ваши требования:

/first-second/text-to-keep-removethis

Следует перенаправить на;

/second/first/text-to-keep

куда

  • first, second и removethis содержат только строчные буквы a-z.
  • first и second разделяются одним дефисом.
  • removethis начинается с одного дефиса (который также удаляется) и всегда стоит в конце URL-пути.
  • text-to-keep - любая последовательность символов a-z и дефиса.

Попробуйте следующее в верхней части корня .htaccess файл, используя mod_rewrite:

RewriteEngine On

RewriteRule ^([a-z]+)-([a-z]+)/([a-z-]+?)-[a-z]+$ /$2/$1/$3 [R=302,L]

В RewriteRule шаблон (первый аргумент) - это регулярное выражение, которое соответствует только запрошенному URL-пути без префикса косой черты.

В $n в замена строка - это обратные ссылки на соответствующую группу захвата (заключенный в скобки подшаблон) в RewriteRule шаблон.

Любая строка запроса, присутствующая в исходном запросе, будет передана без изменений. Если какая-либо строка запроса должна быть удалена, добавьте QSD флаг (Отмена строки запроса).

Обратите внимание, что это временное (302) перенаправление. Переходите на 301 (постоянный) редирект - если это намерение - только после того, как вы подтвердите, что это работает нормально.