比方說,我有一個可以被多個域訪問的網站,例如domain1.com
和domain2.com
。如何在HTML中引用相對子域?
如果我有一個相對鏈接,如href="/wiki"
,那麼無論我通過哪個域名訪問該網站,該鏈接都會帶我到正確的位置。
讓我們說,而不是我想用wiki.domain1.com
和wiki.domain2.com
,有沒有什麼辦法可以使這個相對於域名的鏈接?
如果沒有,當多個域指向同一個服務器時,是否有一種優雅的方式來處理鏈接,如上面的維基鏈接?
比方說,我有一個可以被多個域訪問的網站,例如domain1.com
和domain2.com
。如何在HTML中引用相對子域?
如果我有一個相對鏈接,如href="/wiki"
,那麼無論我通過哪個域名訪問該網站,該鏈接都會帶我到正確的位置。
讓我們說,而不是我想用wiki.domain1.com
和wiki.domain2.com
,有沒有什麼辦法可以使這個相對於域名的鏈接?
如果沒有,當多個域指向同一個服務器時,是否有一種優雅的方式來處理鏈接,如上面的維基鏈接?
相對路徑是不可能的,因爲子域實際上是一個完全不同的域。
如果你真的不能用絕對URL,但是可以使用PHP,你可以試試這個代理腳本:
<?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);
保存到一個文件,如: imgproxy.php,然後你可以這樣對其他子域鏈接圖片:
<img src="imgproxy.php?url=images/logo.png">
FYI以正斜槓任何一個環節是絕對的,而不是相對的。 –
使用JavaScript,您可以輕鬆更改客戶端的所有鏈接,以插入「wiki」。如果他們發送到「http://domain*.com/wiki」。 –