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?
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"
.
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">