Warface
Warface

Reputation: 5119

How to link to the home URL in a subdirectory when the base href is set to that subdirectory?

Here an example of my base URL

<base href="http://subdomain.example.com/folder/" />

I would like to know how to call that base URL for the HOME link when I try

<a href="/">Home</a>

It goes to http://subdomain.example.com/ and does not include /folder/.

Upvotes: 21

Views: 80100

Answers (5)

Stefan Steiger
Stefan Steiger

Reputation: 82146

What you need is the virtual directory name of your application/website.
This is a server variable, and it is not possible to get it in HTML alone, you need some server side component, like PHP or ASP.NET.

If you are in the root directory, you can try a relative link.
So try using a . to indicate "from this folder"

<a href="./">Home</a>

Should your question actually concern the opposite direction, do this:
<a href="../">Home</a>

Or use an absolute link:
<a href="/folder">Home</a>

Or use a canonical link

<a href="http://subdomain.domain.com/folder">Home</a>

By the way, you could also set a protocol-relative-link:

<a href="//subdomain.domain.com/folder">Home</a>

Or if you know where exactly you are right at the moment of the http-request relative to the root, you can infer the root directory link in JavaScript: e.g. assuming you have "index.htm" in the root-directory, then from a javascript in index.htm, you can get the virtual directory name like this:

document.location.pathname.substr(0, document.location.pathname.length-"index.htm".length)

Upvotes: 34

dcromley
dcromley

Reputation: 1410

ADLADS (A Day Late - A Dollar Short)
I got here and can't relate to the dialog.
For me, I find that I wanted

<a href="/index.html">Home</a>

Maybe someone else wants this?

Upvotes: 1

Dr Zeeshan Patoli
Dr Zeeshan Patoli

Reputation: 11

Concatenate host name with application path and http/https should give you home URL. code below

<a href="https://@[email protected]">Home</a>

Upvotes: 0

avetarman
avetarman

Reputation: 1252

Try not to put anything in your HREF, that is, make an empty HREF.

This works in latest Firefox, Chrome, Opera, Safari and IE7, IE8, IE9.

Upvotes: -6

Joseph Marikle
Joseph Marikle

Reputation: 78520

test case

It appears that if you are going to start your url (a url that depends on a base url that is) with a /, you need to specify that this is from the current directory level. Thus your link should be

<a href="./">Home</a>

Upvotes: 5

Related Questions