Это за пределами возможностей (большинства разновидностей) регулярных выражений. Вам действительно нужно будет продублировать каждое правило перезаписи для каждого возможного порядка параметров, что практично для двух и ... менее практично для десяти.
Кроме того, регулярные выражения не будут выполнять тот разбор, который вам необходим для обработки всех возможных входных параметров. Например:
http://www.example.com/SurveyController.aspx?ID=500&L%61ng=4
обычно является допустимым синонимом, а
http://www.example.com/SurveyController.aspx?Hello=3&ID=400&Lang=4&ID=500
часто может быть синонимом для идентификатора 400 или 500 в зависимости от синтаксического анализатора. Простые совпадения с регулярным выражением могут быть в порядке, если вы хотите только 301 загрузить устаревший адрес старого формата на новый блестящий, но этого недостаточно, чтобы они могли перехватить все возможные входные данные.
Так что для более сложных случаев, подобных этому, вам лучше иметь реальный SurveyController.aspx
, который смотрит на его параметры и перенаправляет вас туда, куда вам нужно.