Is it valid to have more than one question mark in a URL?

Yes, it is valid. Only the first ? in a URL has significance, any after it are treated as literal question marks:

The query component is indicated by
the first question mark (“?”)
character and terminated by a number
sign (“#”) character or by the end of
the URI.

The characters slash (“/”) and
question mark (“?”) may represent data
within the query component. Beware
that some older, erroneous
implementations may not handle such
data correctly when it is used as the
base URI for relative references
(Section 5.1), apparently because they
fail to distinguish query data from
path data when looking for
hierarchical separators. However, as
query components are often used to
carry identifying information in the
form of “key=value” pairs and one
frequently used value is a reference
to another URI, it is sometimes better
for usability to avoid
percent-encoding those characters.

https://www.rfc-editor.org/rfc/rfc3986#section-3.4

Leave a Comment