Я использую htaccess, чтобы переписать этот путь:
/inventory/products/tools/
на этот URL со строкой запроса:
/inventory.php?cat=products&type=tools
используя следующее правило:
RewriteRule ^inventory/(.*)/(.*)/? /inventory.php?cat=$1&type=$2 [L,R=301]
Когда я добавляю строку запроса к своему URL-адресу
/inventory/products/tools/?sort=pricehigh
и использую это правило
RewriteCond %{QUERY_STRING} ^(.*)$ [NC]
RewriteRule ^inventory/(.*)/(.*)/? /inventory.php?cat=$1&type=$2&%1 [L,R=301]
, я получаю перенаправление l oop, и строка URL-адреса перезаписывается снова и снова
Я пытаюсь получить следующий URL-адрес назначения
/inventory.php?cat=products&type=tools&sort=pricehigh
В приведенном выше примере правила я использую R = 301 для визуализации URL-адреса. В производстве я бы использовал только [L]