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">
来源:https://stackoverflow.com/questions/10793088/how-can-i-refer-to-a-relative-subdomain-in-html