Как удалить ненужные параметры строки запроса из url-адреса с помощью htaccess?

У меня есть следующий 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]

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

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

Вы хотите показать запрещенный доступ или что-то еще, если не просто не добавлять параметры, которые вы не хотите использовать в строке запроса.

Abhishek Gurjar 07.06.2018 10:25

Нет, я хочу, чтобы этот тип URL (содержит дополнительные параметры) для нового URL (который содержит только необходимые параметры). Басовитое удаление лишних параметров из QS

yajiv 07.06.2018 11:57
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
2
32
0

Другие вопросы по теме