Настоящий файл index.php не заботится о порядке переменных в строке запроса или об отсутствии значения, поскольку получает пару с именем-значением: правильная связь обеспечивается наличием или отсутствиемполная пара.
Чтобы было понятно, для index.php то же самое, если строка запроса "? lang = en & mode = blog " или "? mode = blog & lang = en "или, если это только" ? Lang = en", потому что переменные управляются внутри скрипта с использованием ассоциативного массива $ _GET, независимо от их порядка или присутствия внутри массива.
Важно то, что вы планируете правильный порядок переменных внутри новых виртуальных URL-адресов для перезаписи, поскольку они содержат только содержимое переменной, а имя переменной берется с позиции внутри виртуального URL-адреса.То есть (обратите внимание, это псевдокод):
yourdomain/val1/val2/val3/...etc
, который нужно переписать в:
index.php?var1=val1&var2=val2&var3=val3&...etc
, поэтому в новых URL, которые вы планируете, не может быть пропущенных значений,
Вы можете решить эту проблему, назначив поддельные значения отсутствующим переменным, которые не будут считаться действительными вашим сценарием.
Например, если переменная mode отсутствует, вы можете поместить в эту позицию строку, которая не будет считаться допустимой сценарием, поэтому ее можно будет обрабатывать так, как если бы она была пустой.
Если у вас есть массив допустимых значений, вы можете просто добавить элемент управления * if (in_array ()) * вместо (или отличным от) if (empty ()) .
Когда вы создаете ссылки на другую страницу, вы можете просто добавить этот элемент управления для отсутствующего значения: * if (empty (val3)) val3 = 'fake_value'; *