Удалить строку запроса с несколькими параметрами, используя .htacess - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть несколько URL-адресов, в которых есть строки запроса, относящиеся к данным о продукте, сортировке и фильтрации (так что они имеют несколько параметров в строке запроса), которые мне нужно переписать или перенаправить на статические URL-адреса.

Например, https://example.com/afteraloss/cremation-merchandise/product-category/cremation-urns/metal/page/2/?product_count=24&product_sort=desc&product_order=date должно быть https://example.com/afteraloss/cremation-merchandise/cremation-urns/metal, по существу, удаляя все после и включая "/ page"

Я добавил некоторые правила перезаписи в свой htaccess и подумал, что они работают, но онипохоже, что вы не перенаправляете по мере необходимости.

В моем файле htaccess есть следующее:

RewriteCond %{QUERY_STRING} (^|&)product_count=([0-9]*)$
RewriteCond %{QUERY_STRING} (^|&)product_order=date($|&)
RewriteCond %{QUERY_STRING} (^|&)product_order=title($|&)
RewriteCond %{QUERY_STRING} (^|&)product_order=price($|&)
RewriteCond %{QUERY_STRING} (^|&)product_order=popularity($|&)
RewriteCond %{QUERY_STRING} (^|&)product_sort=desc($|&)
RewriteCond %{QUERY_STRING} (^|&)product_sort=asc($|&)
RewriteRule ^afteraloss\/cremation\-merchandise\/product\- 
category\/cremation\-urns\/metal\/(.*)/$ /afteraloss/cremation- 
merchandise/cremation-urns/metal/? [L,R=301]

Есть предложения, где это может развалиться?Я предполагаю, что это то, как я комбинирую строки запроса (потому что не все URL имеют все параметры) или как указано правило перезаписи.

...