Mobile app version of vmapp.org
Login or Join
Speyer207

: Can I use asterisks in URLs? Are there any reasons I shouldn't use an asterisk (*) in a URL? Background: With asterisks, I could provide these nice and user friendly (or what do you think??)

@Speyer207

Posted in: #Links #Seo #Url

Are there any reasons I shouldn't use an asterisk (*) in a URL?

Background:

With asterisks, I could provide these nice and user friendly (or what do you think??) URLs:


example.com/some/folder/search-phrase*
means search for pages with names starting with "search-phrase", located in /some/folder/.
example.com/some/**/*search-phrase*
means search for any page with "search-phrase" anywhere in its name.
example.com/some/folder/*
means list all pages in /some/folder/ (rather than showing the /some/folder/index page).

10.02% popularity Vote Up Vote Down


Login to follow query

More posts by @Speyer207

2 Comments

Sorted by latest first Latest Oldest Best

 

@Jessie594

On using Asterix in URLs

Using an Asterix in your URL is probably not such a great idea, largely because:


Neither UTF-8 or ASCII is currently able to denote an Asterix.
He would be little more than a smudge in a standard browser address bar.
I doubt he'd like it very much. And he has some quite large friends.
It's just weird.


On using Asterisks in URLs

Using an asterisk (*) in a URL (and, yes, I know that's what you meant all along) is also not such a great idea. Because it's a reserved character, it's not used anywhere else; even though your URL scheme seems user-friendly to you, few will think to try it, and it's likely to give unpredictable results because the meaning of wildcards in URLs is hard to discern. (I couldn't tell what all of your examples meant until I read your descriptions.)

Not only that, but there might be some more semantic/meaningful ways to do what you describe. For example, you could append a query string and use a 'find' and 'where' variable to tell your method what to find where:

Find pages starting with 'search phrase' in /some/folder/:

example.com/some/folder/?find=search-phrase&where=start

Find pages with 'search phrase' anywhere:

example.com/some/?find=search-phrase&where=anywhere

To show all pages, I would use a separate method called 'all' instead of a query string or wildcard syntax:

example.com/some/folder/all

The query string syntax is far more common than asterisks -- look in your address bar next time you do a Google search, for example -- and it will likely be easier to code too.

Finally, if you don't like the look of query strings, you could prepend a method name called 'search' and then use the next two blocks as the 'find' and 'where' variables. e.g. Instead of:

example.com/some/folder/?find=search-phrase&where=start

You could have:

example.com/some/folder/search/search-phrase/start

Then, you just need to check for the 'search' keyword in your URL path, and trigger the your search method using the next two path segments as variables.



UPDATE: I found my first asterisk in a URL today. The new archive.org interface is using it exactly as you describe (as part of a search feature), in place of an 'all' keyword. e.g.:
wayback.archive.org/web/*/http://google.com
instead of
web.archive.org/web/20040214050058/http://www.google.com/
The first example returns archived listings from all dates for google.com, rather than just pages from a certain date (second example). Interestingly, I can't link to the live page here, because the Stack Exchange site encodes the * character as %2a when it appears in URLs, which results in a 404 from archive.org. (Perhaps another reason not to use asterisks in URLs.)

I still think it's not quite as clear as 'all', but, if you're looking for examples of other sites adopting asterisks in their URLs, that's the first one I've seen.

10% popularity Vote Up Vote Down


 

@Dunderdale272

Yes, because it's a reserved character.


Other reserved characters

The asterisk ("*", ASCII 2A hex) and exclamation mark ("!" , ASCII 21 hex) are reserved for use as having special significance within specific schemes.


From here: www.w3.org/Addressing/URL/4_URI_Recommentations.html
EDIT:


Section 2, on characters, has been rewritten to explain what characters are reserved, when they are reserved, and why they are reserved, even when they are not used as delimiters by the generic syntax. The mark characters that are typically unsafe to decode, including the exclamation mark ("!"), asterisk ("*"), single-quote ("'"), and open and close parentheses ("(" and ")"), have been moved to the reserved set in order to clarify the distinction between reserved and unreserved and, hopefully, to answer the most common question of scheme designers.


From here: labs.apache.org/webarch/uri/rfc/rfc3986.html#modifications

10% popularity Vote Up Vote Down


Back to top | Use Dark Theme