Как перенаправить подмножество файлов в папке в другую папку? - PullRequest
1 голос
/ 22 мая 2019

Я недавно взял на себя управление сайтом WordPress для работы и провел некоторую очистку.Одна вещь, которую я сделал, - переместил некоторые важные файлы в определенные папки, чтобы облегчить обслуживание версий файлов.Я обновил все внутренние ссылки на новый путь.

К сожалению, у нас есть пользователи, которые добавили в закладки старые местоположения, и они получают 404 при попытке повторно загрузить файлы.Масштаб этого значительный, и мне нужно найти способ указать старые ссылки на новые.

Проблемы:

  1. Старые папки по-прежнему содержат файлы, которыеобслуживаются в других частях сайта, поэтому я не могу перенаправить всю папку.
  2. Существуют сотни файлов.
  3. Было около 3 папок, содержащих файлы для 14 различных продуктов (не уникален для> местоположений).

Вот несколько примеров:

OLD:

  • / wp-content /uploads / 2016/08 / HR59-KFD.dwg
  • / wp-content / uploads / 2016/08 / HR59-KFD.dwg
  • / wp-content / uploads / 2016/08 /HR59-AFD.step
  • / wp-content / uploads / 2019/01 / LAAB.igs
  • / wp-content / uploads / 2019/01 / LABB.sldprt
  • / wp-content / uploads / 2019/01 / MACB.x_t
  • / wp-content / uploads / 2019/01 / MACB.dxf

NEW:

  • / загрузки / 3D-модели / Product1 / HR59-KFD.dwg
  • / загрузки / 3D-модели / Product1 /HR59-AFD.step
  • / загрузки / 3D-модели / Product2 / LAAB.igs
  • / загрузки / 3D-модели / Product2 / LABB.sldprt
  • / загрузки / 3D-модели / Product3 /MACB.igs
  • / uploads / 3D-модели / Product3 / MACB.dxf

Что я ищу: Способ поиска подмножества (основанный наначало имени файла) определенной папки, и только перенаправьте / переписать это в новую папку.То есть уникальной особенностью файлов является начало имени файла, когда оно находится в одной конкретной папке.Например:

ПРИМЕР 1:

For files in: /wp-content/uploads/2016/08/
That start with: HR59-
Redirect to: /uploads/3Dmodels/Product1/

ПРИМЕР 2:

For files in: /wp-content/uploads/2019/01/
That start with: L-
Redirect to: /uploads/3Dmodels/Product2/

ПРИМЕР 3:

For files in: /wp-content/uploads/2019/01/
That start with: M-
Redirect to: /uploads/3Dmodels/Product3/

1 Ответ

0 голосов
/ 22 мая 2019

Вы просто проверяете соответствующий шаблон с RewriteRule

RewriteRule ^wp-content/uploads/2016/08/(HR59-[^/]+)$ /uploads/3Dmodels/Product1/$1 [R,L]
RewriteRule ^wp-content/uploads/2019/01/(L-[^/]+)$ /uploads/3Dmodels/Product2/$1 [R,L]
RewriteRule ^wp-content/uploads/2019/01/(M-[^/]+)$ /uploads/3Dmodels/Product3/$1 [R,L]

Когда все работает как положено, вы можете заменить R,L на R=301,L, но не во время тестирования

...