Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I refer to a relative subdomain in HTML?

Let's say I have a website which is accessed by multiple domains, e.g. domain1.com and domain2.com.

If I have a relative link, such as href="/wiki", then no matter what domain name I access the website by, that link will take me to the correct place.

Lets say instead I wanted to use wiki.domain1.com and wiki.domain2.com, is there some way I can make a link to this relative to the domain name?

If not, is there an elegant way to handle a link such as the wiki link above when multiple domains point to the same server?

like image 678
Alex Avatar asked May 29 '12 04:05

Alex


People also ask

How do I point a subdomain to a specific page?

Look for the Domains section, then click the Subdomains icon. Under Modify a Subdomain, locate the domain you want to redirect, then click its Manage Redirection link on the right. In the text box, type the URL you would like visitors to be redirected to if they go to the subdomain sample1.hgexample.com. Click Save.

What is a subdomain in HTML?

A subdomain is an additional part to your main domain name. Subdomains are created to organize and navigate to different sections of your website. You can create multiple subdomains or child domains on your main domain. For example: store.yourwebsite.com.

Can you have two subdomains in a URL?

But you can absolutely have as many sub-domains as you like, that is the whole point. Those can point to the same or a different physical location as you want. It is a very flexible approach. Your domain is example.com and www is a sub domain.


2 Answers

No. You'll have to give the whole domain. To link from domain1.com to wiki.domain1.com, the link has to look like href="http://wiki.domain1.com".

like image 153
deceze Avatar answered Sep 18 '22 11:09

deceze


It is not possible with relative paths, because subdomain is in fact a whole different domain.

If you really can't use absolute URL, but can use PHP, you could try this proxy script:

<?php

if(!isset($_GET['url'])) {
    die('Missing URL!');
}

$subdomain_url = 'http://subdomain.example.com/';
$file_path = $_GET['url'];

$file_url = $subdomain_url . $file_path;

$mime = finfo_open(FILEINFO_MIME, $file_url);


header('Content-Type: ' . $mime);
header('Content-Transfer-Encoding: Binary'); 
header('Content-disposition: inline; filename="' . basename($file_path) . '"'); 

readfile($file_url);

Save it into a file, eg. imgproxy.php, and then you can link images on the other subdomain like this:

<img src="imgproxy.php?url=images/logo.png">
like image 36
MightyPork Avatar answered Sep 17 '22 11:09

MightyPork