使用Masking Breaking Viewport进行域名转发

时间:2012-07-14 12:10:33

标签: subdomain viewport forwarding

所以,我发现了一个相当有趣的问题,并且想知道是否有其他人遇到过它并且可能以某种方式解决它。

我正在开发响应式网站。此网站托管here。并且域名iconclash.com正在通过屏蔽转发到子域。事情进展顺利,但我注意到在移动设备上我的视口元标记无效。在检查页面后,我注意到这是注入的:

<!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>

这似乎打破了视口标签。如果您直接访问子域,您将看到该标记正在运行,但如果您访问它转发给它的域名,则不会。那么,有没有人见过这个?还是解决了?至少我觉得有些东西需要注意。

修改:seems someone else may have encountered this problem

1 个答案:

答案 0 :(得分:0)

编辑:我刚刚转而使用GoDaddy的子域转发w / masking而不是在我自己的服务器上使用Apache的mod_rewrite工具来设置子域。这在我看来要好得多,因为没有使用框架等导致视口出现问题。

注意 :在下面的方法有效之前,您需要添加一个通配符子域来指向服务器的ip。

我的目录结构如下:

/ SRV / HTTP /
---------子域/
------------------- WWW /
------------------- SUB1 /
------------------- SUB2 /

我的主网站代码位于 www 目录中,因此它适用于子域的工作方式,但实际上并不是子域名,因为它是主站点。

以下是我在httpd.conf文件中的内容。它是唯一的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>

以下是我服务器的一些配置信息供参考:

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

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

希望这对您有用。在看了几个资源试图用mod_rewrite解释创建子域之后,我花了很长时间才最终得到它。