title: NGINX order GET parameters alphabetically
body: <p>We have a production site which runs Nginx and WordPress. I pass this request to the wp-admin/load_styles.php-file:</p>
  
  <pre><code>wp-admin/load-styles.php
      ?c=0
      &amp;dir=ltr
      &amp;load%5B%5D=dashicons,admin-bar,common,forms,admin-menu,dashboard,list-tables,edit,revisions,media,themes,about,nav-menus,wp-pointer,widgets
      &amp;load%5B%5D=,site-icon,l10n,buttons,wp-auth-check
      &amp;ver=4.9.8
  </code></pre>
  
  <p>Now, when I output the <code>$_SERVER</code> variables I see the following:</p>
  
  <pre><code>[QUERY_STRING] =&gt; 
      c=0
      &amp;dir=ltr
      &amp;load%5B%5D=,site-icon,l10n,buttons,wp-auth-check
      &amp;load%5B%5D=dashicons,admin-bar,common,forms,admin-menu,dashboard,list-tables,edit,revisions,media,themes,about,nav-menus,wp-pointer,widgets
      &amp;ver=4.9.8
  </code></pre>
  
  <p>As you can see, the two elements in the <code>load[]</code>-array have switched places (because Nginx or something else on the server sorts the parameters alphabetically). In load_styles.php, the load-array is concatenated. That leads to this string for load:</p>
  
  <blockquote>
    <p>,site-icon,l10n,buttons,wp-auth-checkdashicons,admin-bar,common,forms,admin-menu,dashboard,list-tables,edit,revisions,media,themes,about,nav-menus,wp-pointer,widgets</p>
  </blockquote>
  
  <p>instead of</p>
  
  <blockquote>
    <p>dashicons,admin-bar,common,forms,admin-menu,dashboard,list-tables,edit,revisions,media,themes,about,nav-menus,wp-pointer,widgets,site-icon,l10n,buttons,wp-auth-check</p>
  </blockquote>
  
  <p>This in turn leads to the wp-auth-check and dashicons never being loaded.</p>
  
  <p>I cannot hack the way these styles are loaded, so I am wondering if anyone knows of a setting in Nginx where I can turn off alphabetic sorting of GET-parameters.</p>
  
  <ul>
  <li>Is it NGINX that sorts the parameters alphabetically before passing them to PHP?</li>
  <li>Why oh why?</li>
  <li>How do I turn it off? It messes up an array which is sent though GET-parameters in a specific order which cannot be messed with.</li>
  </ul>