Разделители и несколько параметров

Я пытаюсь использовать модуль mod_rewrite для создания гладких URL. Так например мой example.com/pages/group/index.php?id=1&slug=example-keyword станет example.com/group/1-example-keyword,

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

Правило.htaccess

RewriteRule ^group/([^-]*)-([^-]*)$ /pages/group/index.php?id=$1&slug=$2 [L]

1 ответ

Ваше регулярное выражение явно запрещает черточки в первой и второй группах.

Попробуйте это используя . (любой символ) вместо [^-] (любой символ, кроме -) во второй группе:

RewriteRule ^group/([^-]*)-(.*)$ /pages/group/index.php?id=$1&slug=$2 [L]

В этом выражении все после group/ но до первого - будет захвачен в группу 1, и все после первого - будет захвачен в группе 2.

Другие вопросы по тегам