- /* Add the file name. */
- if (fnres.tail)
- append_char ('/', &fnres);
- u_file = *u->file ? u->file : index_filename;
- append_uri_pathel (u_file, u_file + strlen (u_file), false, &fnres);
-
- /* Append "?query" to the file name. */
- u_query = u->query && *u->query ? u->query : NULL;
- if (u_query)
+ if (!replaced_filename)
+ {
+ /* Add the file name. */
+ if (fnres.tail)
+ append_char ('/', &fnres);
+ u_file = *u->file ? u->file : index_filename;
+ append_uri_pathel (u_file, u_file + strlen (u_file), false, &fnres);
+
+ /* Append "?query" to the file name, even if empty */
+ if (u->query)
+ {
+ append_char (FN_QUERY_SEP, &fnres);
+ append_uri_pathel (u->query, u->query + strlen (u->query),
+ true, &fnres);
+ }
+ }
+ else