2012-07-14 9 views
9

Quindi, ho scoperto un problema piuttosto interessante e mi chiedevo se qualcun altro l'avesse mai incontrato e forse l'avesse risolto in qualche modo.Domain Name Forwarding With Masking Breaking Viewport

Sono in procinto di sviluppare un sito reattivo. Questo sito è ospitato here. E il nome di dominio iconclash.com viene inoltrato con il mascheramento al sottodominio. Le cose andavano bene, tuttavia ho notato che sui miei dispositivi mobili il mio meta tag viewport non funzionava. Dopo aver esaminato la pagina ho notato che questo è stato iniettato:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
    "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 

<head> 
    <title>ionclash.com</title> 

</head> 
<frameset rows="100%,*" border="0"> 
    <frame src="http://nicholasarehart.com/designs/" frameborder="0" /> 
    <frame frameborder="0" noresize /> 
</frameset> 

Questo sembra essere rompere il tag viewport. Se visiti direttamente il sottodominio, vedrai che il tag funziona ma se visiti il ​​nome del dominio che è stato inoltrato ad esso, non lo è. Quindi, qualcun altro l'ha mai visto? O risolto? Per lo meno penso che sia qualcosa di cui essere consapevole.

Modifica: seems someone else may have encountered this problem.

risposta

0

EDIT: Recentemente ho abbandonato l'utilizzo del sottodominio di GoDaddy con w/masking per utilizzare invece lo strumento mod_rewrite di Apache sul mio server per configurare i sottodomini. Questo è molto meglio a mio avviso perché non c'è l'uso di frame, ecc. Che causa il problema con viewport.

NOTA: è necessario aggiungere un sottodominio wildcard per puntare al IP del server prima che il metodo seguito funzionerà.

La mia struttura di directory è la seguente:

/srv/HTTP/
sottodomini ---------/
--------------- ---- www/
------------------- sub1/
------------------- sub2/

Il codice del mio sito Web principale si trova nella directory www, quindi si adatta a come funzionano i sottodomini ma non è un sottodominio, poiché è il sito principale.

Di seguito è riportato ciò che ho nel mio file httpd.conf. È l'unico VirtualHost.

<VirtualHost *:80> 
    ServerAlias *.domain.com 

    #Rewrite Starts* 
    RewriteEngine on 

    #This will just force www.domain.com if 
    #only domain.com is given (to load our 
    #code in the www directory) 
    RewriteCond %{HTTP_HOST} ^domain.com 
    RewriteRule (.*) http://www.jmtk.co$1 [R=301,L] 

    #RewriteCond %{HTTP_HOST} !^www.* [NC] 
    RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain\.com 
    RewriteCond /srv/http/subdomains/%1 -d 
    RewriteRule ^(.*) /subdomains/%1/$1 [L] 
</VirtualHost> 

Ecco solo alcune informazioni di configurazione dal mio server di riferimento:

[[email protected] ~]# apachectl -v 
Server version: Apache/2.2.24 (Unix) 
Server built: Mar 18 2013 13:57:39 

[[email protected] ~]# uname -a 
Linux jmtksrv 3.8.11-1-ARCH #1 SMP PREEMPT Wed May 1 20:18:57 CEST 2013 x86_64 GNU/Linux 

Speriamo che questo può essere utile a voi. Mi ci è voluto un po 'di tempo per riuscire finalmente a farlo subito dopo aver visto diverse risorse che cercavano di spiegare la creazione di sottodomini con mod_rewrite.