Как удалить ненужные параметры строки запроса из URL, используя htaccess? - PullRequest
0 голосов
/ 07 июня 2018

У меня есть следующий URL.

www.abc.com/xyz/?a=1&b=2&c=3&d=4&e=12&f=45

Я хочу перенаправить его на следующий URL (через htaccess)

www.abc.com/xyz/?a=1&b=2&c=3&d=4

Как мне достичь перенаправления выше?

Примечание: - Допустимые параметры queryString: a, b, c & d, кроме этого удалите все эти другие параметры в новом URL-адресе (URL-адрес перенаправления), и возможно, что эти параметры могут прийтив любом порядке, т.е. возможно a=1&b=2&c=3&d=4 или d=4&b=2&c=3&a=1.И не обязательно, чтобы эти параметры появлялись постоянно, иногда некоторые из них не будут присутствовать в URL (это означает, что в URL могут входить только два допустимых параметра, или три, или один).

Один из способов -

RewriteCond %{QUERY_STRING} (a=[\d]+)(b=[\d]+)(c=[\d]+)(d=[\d]+)
RewriteRule ^xyz        xyz/\?%1&%2&%3&%4   [R=301,NC,L]

Проблема с вышеприведенным подходом заключается в том, что я должен написать все возможные комбинации, например, правила, когда одно из них отсутствует, правила для всех возможных порядков.

Есть ли лучший способ сделать это

...