2012-05-29 18 views
8

Digamos que tengo un sitio web al que acceden varios dominios, p. domain1.com y domain2.com.¿Cómo puedo hacer referencia a un subdominio relativo en HTML?

Si tengo un enlace relativo, como href="/wiki", entonces no importa a qué nombre de dominio acceda, el enlace me llevará al lugar correcto.

digamos que en su lugar, quería usar wiki.domain1.com y wiki.domain2.com, ¿hay alguna forma en que pueda hacer un enlace a esto en relación con el nombre de dominio?

Si no es así, ¿existe una manera elegante de manejar un enlace como el enlace de la wiki anterior cuando varios dominios apuntan al mismo servidor?

+1

FYI cualquier vínculo a partir de una barra inclinada es absoluta, no relativa. –

+0

Al usar javascript, puede cambiar fácilmente todos los enlaces del lado del cliente para insertar "wiki". si lo envían a "http: //domain*.com/wiki". –

Respuesta

8

No. Tendrás que dar todo el dominio. Para vincular desde domain1.com a wiki.domain1.com, el enlace tiene que parecerse a href="http://wiki.domain1.com".

+0

Gracias, ¿hay una forma elegante de manejar esto cuando varios nombres de dominio se refieren al mismo servidor? (Agregando esto a la pregunta). – Alex

+0

Normalmente puede averiguar el nombre de dominio actual usando '$ _SERVER ['HTTP_HOST']'. Escribe tu guión alrededor de eso ... – deceze

4

No es posible con rutas relativas, porque el subdominio es de hecho un dominio completamente diferente.

Si realmente no puede utilizar dirección URL absoluta, pero se puede usar PHP, usted podría probar este script de proxy:

<?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); 

Guardar en un archivo, por ejemplo. imgproxy.php, y luego se puede enlazar imágenes en el otro subdominio como esto:

<img src="imgproxy.php?url=images/logo.png"> 
Cuestiones relacionadas