Please help me understand the functionality of the <base>
tag's href attribute.
I have a website hosted at http://goodsite.org/bob
. other sites are hosted at http://goodsite.org/others
.
I am planning to move my application to http://bettersite.org/bob
.
In order to support this I have a base url in my header.
<base href="/bob/">
.
My links look something like this: <a href="thatonething.img">That one thing</a>
As hoped I am seeing the links as expected (e.g. "http://goodsite.org/bob/thatonething.img"
)
Question:
Does <base>
tag universally support root relative urls (i.e. href="/bob/"
)?
This seems to work in my testing but I am having a little more trouble reading through the specifications. More generally I'm wanting to know if I am misusing this tag.
Does
<base>
tag universally support root relative urls (i.e.href="/bob/"
)?
Yes, <base>
accepts domain-relative (path-absolute) URLs and will correctly resolve them relative to the host name.
<base href="/bob/">
means that you want all path-relative URLs (i.e. URLs that contain just a path but don't start with /
) to be relative to /bob/
, such that
<a href="foo.html">
will point to /bob/foo.html
, regardless of the domain.Domain-absolute and path-absolute links will not be adjusted: respectively,
<a href="https://stackoverflow.com">
will still point to https://stackoverflow.com
, and<a href="/bar">
will still point to /bar
.As long as this is how you intend for your path-relative links to behave, you're not misusing the <base>
element this way. As always, when using the <base>
element it's a good idea to test your links from time to time to make sure they're still pointing to the right URLs.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With