Правило перезаписи ISAPI для нескольких параметров строки запроса
Я пытаюсь переписать URL-адрес с 2 параметрами строки запроса, используя HeliconTech ISAPI_Rewrite версии 3. Я могу переписать URL-адрес с 1 параметром, но я не могу выяснить правило (правила) для перезаписи 2.
Оригинальный URL:
http://example.com/index.php?id=1234&name=John-Edward-Smith
Желаемый переписанный URL
http://example.com/id/1234/name/John-Edward-Smith
Мой текущий.htaccess:
RewriteEngine On
RewriteRule ^id/(.+)$ index.php?id=$1 [L, NC]
Мой текущий файл.htaccess успешно перезаписывает первый параметр (id). У меня вопрос, как мне изменить правило или добавить дополнительное правило, чтобы также переписать 2-й параметр (имя)?
2 ответа
Решение
Должно быть так:
RewriteRule ^id/(\d+)/name/([^./]+)$ index.php?id=$1&name=$2 [NC,L]
RewriteRule ^id/(\d+)$ index.php?id=$1 [NC,L]
Возможно, вы могли бы попробовать это:
# Rewrite with the name
RewriteRule ^id/(\d+)/name/([a-z0-9-]+)$ index.php?id=$1&name=$2 [L,NC]
# Rewrite with only the ID
RewriteRule ^id/(\d+)$ index.php?id=$1 [L,NC]