Правило перезаписи 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]
Другие вопросы по тегам