28

I have noticed that some blogs posts have links using a value starting with / in the href.

For example:

<a href="/somedir/somepage.html">My Page</a>

Does the leading / mean the path is starting from the site root?

In other words, if the site URL is www.mysite.com, the effective href value is www.mysite.com/somedir/somepage.html?

Is this a convention accepted in all browsers?

1

4 Answers 4

29

It's important to start a URL with a / so that the intended URL is returned instead of its parent or child.

Let's say if your browsing /cream-cakes/ then you have a link on the page that has blah.html without the forward slash it is going to attempt to visit page /cream-cakes/blah.html while with the forward slash it'll assume you mean the top level which will be domain.com/blah.html.

Generally, it's best to always use / in my experience as its more friendly when you change the structure of your site, though there is no right or wrong assuming that the intended page gets returned.

17

Does the leading '/' mean the path is starting from the site root?

Technically this is referenced in section 4.2 of RFC 3986 as an "absolute-path reference":

A relative reference that begins with a single slash character is termed an absolute-path reference.

It ensures the path is absolute to the root directory and not the current directory (termed a "relative-path" reference). See this for an expanded discussion on that.

3
  • Can you address the browser support for this type of link? Jan 8, 2014 at 17:19
  • 3
    @Stephen every browser ever made since at least 1998. Jan 8, 2014 at 18:30
  • 1
    @DisgruntledGoat: Probably way earlier than that. In fact, I'd go on a limb and just say "every browser ever"; that syntax has been part of the URL standard from the very beginning. Jan 10, 2014 at 3:16
4

That's a root-relative link. It's a relative link (somewhat akin to ../) but it begins at the root of the site. If a page three levels deep on the site begins a link with the forward slash, the remainder of the path will be relative to the root of the site.

A benefit to this form of pathing is fewer characters in the markup:

http://example.com/page.html

vs

/page.html

Another advantage is portability across domain changes. If example.com content is moved to example.org, for example, root-relative links will still work, assuming the same directory naming/layout is used. Especially useful if developing pages locally, then uploading to the web.

As with other types of pathing - relative (../) and absolute (http://...) this is still subject to updating links when files or directories are renamed or moved.

1
  • It can also break links during domain changes. For example, if blog.example.org moves to example.org/blog/. If The links had been https://blog.example.org/foo, they'd be easy to redirect, but /foo links introduce a lot more complexity to redirect.
    – Ian Dunn
    Aug 4, 2020 at 15:52
0

This tutorial indicates that the answer to my question is yes.

The effective href value is indeed: www.mysite.com/somedir/somepage.html.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.