Перенаправление .htaccess с изменением пользовательского URL - PullRequest
0 голосов
/ 15 февраля 2020

Я хочу перенаправлять сообщения в пределах одного домена.

Старая структура URL

/posts/category/340-post-name-with-öäü.html

, и я хочу перенаправить на

/category/post-name-without-id-and-changed-oeaeue

( 340 - это уникальный идентификатор, который также может быть 2 или 20.)

Пример:

/posts/onpage/374-fünf-strategien.html

до

/onpage/fuenf-strategien

Возможно ли это с перенаправлением .htaccess?

1 Ответ

0 голосов
/ 15 февраля 2020

Так как id является "уникальным", то это будет все, что вам нужно для сопоставления.

Например:

RedirectMatch ^/posts/category/340- /category/post-name-without-id-and-changed-oeaeue

Если, однако, Вы ищете обобщенный редирект «многие ко многим», тогда здесь просто недостаточно информации для выполнения перенаправления в .htaccess. Например, как вы получаете от post-name-with до post-name-without-id-and-changed - в частности, в отношении бита "и-изменен"?

Любое перенаправление, которое вы выполняете в .htaccess, может просматривать только элементы исходного запроса. Если информация не для начала (в некоторой форме), то вы не можете волшебным образом использовать ее в качестве цели перенаправления без жесткого кодирования. (Если у вас есть доступ к конфигурации сервера, вы можете настроить RewriteMap s - по сути, «справочную таблицу», чтобы помочь с перенаправлением. Но в противном случае, только у 1015 * такой возможности нет.)

Если у вас много перенаправлений такого рода, то лучше выполнить перенаправление в коде на стороне сервера (лог приложения c) вместо .htaccess.

ОБНОВЛЕНИЕ: Из вашего второго примера: /posts/onpage/374-fünf-strategien.html до /onpage/fuenf-strategien. Опять же, нет логического процесса перехода от fünf к fuenf без жесткого кодирования замены.

Если существует конечная серия замен, например. öäü до oeaeue и fünf до fuenf, затем вы можете применить их в .htaccess до , удалив расширение .html, идентификатор и изменив URL-путь и т. Д. c. Однако, если вы добавляете произвольный текст для каждого URL-адреса (например, бит and-changed выше), тогда вы вернетесь к выполнению этого одного URL-адреса за раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...