2012-07-24 98 views
2

我有一个网站,它检查用户代理并在需要时加载移动版本。它加载www.mydomain.com/mobile。没有子域的移动网站

但是,像这个网站“stackoverflow”,没有子域名:它只是“stackoverflow.com”的桌面和移动版本。这是如何完成的?

谢谢

回答

1

www是不是一个子域,它是一个主机名。而这里发生的只是DNS的行动。
让我们仰望www.stackoverflow.com

www.stackoverflow.com. 3600 IN CNAME stackoverflow.com 

这是说: “www.stackoverflow.comstackoverflow.com一个别名,查找stackoverflow.com知道IP地址”,所以现在我们仰望stackoverflow.com

stackoverflow.com. 3600 IN A 64.34.119.12 

这里就是IP地址。这是故事的第一部分。

关于技术,因此使用使用相同的URL,以服务于移动和桌面版本,因为StackExchange软件的权力,因此不开源的,我只能引用杰夫阿特伍德,从a comment on a blog post regarding the mobile version

不幸的是,对于像我们这样的网站, 实际上并不是为移动客户端提供不同的HTML。

这导致我推测期望的渲染(移动或桌面)是会话的一部分,而页面控制器只是将另一组模板应用于存储在数据库中的文章内容。

+0

好的,谢谢你的研究! – 2012-07-24 22:25:53

+0

@FelixBernhard我很高兴,但它是否回答你的问题? – fvu 2012-07-25 08:23:58

+0

是的!但我认为我不会更改我的代码..我只有一个名为“m”的文件夹,如果用户帐户是移动设备,则使用该文件夹:m.mydomain.com – 2012-07-26 16:31:59