panthro
panthro

Reputation: 24061

Set an anchor element's href relative to the current URI?

Im on the page:

example.com/news

It's a list of news articles. Is it possible to set links on each news article and take into account the current url?

<a href="the-article">link to something</a>

The above will link to:

example.com/news/article

Or will I need to get the entire route and specify that in the link?

The url could be anything eg. /products so I do not want to hardcode it in.

Upvotes: 4

Views: 3358

Answers (3)

ufukty
ufukty

Reputation: 472

Browser replaces the part comes after the last / of open page's URL to produce absolute URL from relative path. Either:

  • Use filenames at the end of your URLs (like news/index.html)
  • Use / at the end of your URLs (like news/)
  • Use absolute URLs instead of relative paths for href (like example.com/news/the-article)
  • Set a base element to guide the browser to add last /
    <base href="http://example.com/news/the-article/" />
    

Upvotes: 3

shennan
shennan

Reputation: 11656

Make it relative?

<a href="./article">link to something</a>

For some browsers/DOCTYPE, you may have to use this in conjunction with the base tag element, which will need to be added to every page that utilises relative paths:

<base href="http://www.example.com/news">

Upvotes: -1

Oday Fraiwan
Oday Fraiwan

Reputation: 1157

If you need to take into account the current path, use the page name directly in the href attribute:

If you are on example.com/news and used an href value of "article", the URL becomes example.com/news/article.

If you need to reference pages on the root directory, precede the page name with slash '/', href="/article".

Upvotes: 1

Related Questions