У меня есть следующий 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]
Проблема с вышеприведенным подходом заключается в том, что я должен написать все возможные комбинации, например, правила, когда одно из них отсутствует, правила для всех возможных порядков.
Есть ли лучший способ сделать это