Я пытаюсь переписать некоторые URL-адреса и извлечь их значения параметров через имена путей с помощью одного регулярного выражения. URL может иметь несколько вариантов, и s-член, pg-n, порядок сортировки и т. Д. Могут быть в любом порядке. За исключением категории, которая всегда стоит первой после URL сайта.
Пример 1: www.test.com/freebies/s-term/pg-2/
- Извлечение $ 1 = бесплатные, $ 2 = срок, $ 3 = 2
- Итак, я могу переписать на www.test.com?category= $ 1 & s = $ 2 & page = $ 3
Пример 2: www.test.com/freebies/pg-2/
Извлечение $ 1 = бесплатные, $ 2 = '', $ 3 = 2
Так что тогда я могу переписать в www.test.com?category= $ 1 & s = $ 2 & page = $ 3
Все возможные комбинации
http://localhost:8888/pg-2/
http://localhost:8888/s-term/
http://localhost:8888/s-term/pg-2/
http://localhost:8888/s-term/pg-2/
http://localhost:8888/freebies/
http://localhost:8888/freebies/pg-2/
http://localhost:8888/freebies/s-term/
http://localhost:8888/freebies/s-term/pg-2/
В любом случае я хочу получить категорию в группе 1, searchterm в группе 2, пейджинг в группе 3, sort- порядок в группе 4
Вот что я пробовал до сих пор, но в области замены вы можете видеть, что она заменяет каждый раз, когда находит совпадение, и я хочу заменить весь URL новым и включить группы data.
https://regex101.com/r/4v1uf5/10
Считаете ли вы, что это возможно с помощью регулярных выражений или .htaccess переписать будет лучше?
Спасибо!