使用Masking Breaking Viewport进行域名转发

Nic*_*art 9 subdomain forwarding viewport

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

我正在开发一个响应式网站.这个网站在这里托管.并且域名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>
Run Code Online (Sandbox Code Playgroud)

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

编辑:似乎其他人可能遇到过这个问题.

小智 1

编辑:我最近刚刚不再使用 GoDaddy 的带有屏蔽的子域转发,而是在我自己的服务器上使用 Apache 的 mod_rewrite 工具来设置子域。我认为这要好得多,因为没有使用框架等导致视口问题的情况。

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

我的目录结构如下:

/srv/http/
---------子域名/
----------------------www/
------------- ------sub1/
------------------sub2/

我的主网站的代码位于www目录中,因此它适合子域的工作方式,但本身并不是真正的子域,因为它是主网站。

以下是我的 httpd.conf 文件中的内容。它是唯一的虚拟主机。

<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>
Run Code Online (Sandbox Code Playgroud)

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

[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
Run Code Online (Sandbox Code Playgroud)

希望这对您有用。在查看了一些试图解释使用 mod_rewrite 创建子域的资源后,我花了相当长的时间才最终得到它。