问题描述
|
我想开发原始网站的移动版(还包括iPhone,iPad和Andriod)。但是我不想创建另一个子域名,例如www.m.mydomain.com,我可以分别针对移动版本和现有版本分别动态更改文档根目录吗?
我还注意到,当我从诺基亚或三星等任何其他移动设备上打开它时,当我从iphone或任何安卓手机中打开它时,它都以其原始域名(如http://www.facebook.com/ bt)打开。它带有http://m.facebook.com/,这2之间有什么区别?
解决方法
当谈到iPhone和Android设备时,一个网站几乎不需要调整,因为它们的Web浏览器功能非常好。
对于网络浏览用户体验不太令人满意的其他设备,该站点将动态地将其切换到网站的备用“低价”版本。
至于m.domain.com功能,这只是domain.com网站的子域。显然,它代表了主站点的移动版本,并且将去除Flash和javascript之类的内容,而对于基本的移动浏览器而言,基本上任何内容都将变得多余。
浏览器的动态切换是通过代码完成的。有一些方法可以检测到哪个浏览器刚刚请求了您的网站。然后,根据返回的信息,您可以重定向到特定的脚本,此脚本将随后处理用户的请求。
例如,您可以使用以下标准参数来检查访问您站点的浏览器:
$_SERVER[\'HTTP_USER_AGENT\']
希望能有所帮助。
, 您可以通过Apache级别或PHP级别上的User-Agent
属性对其进行区分。尽管由于UA可以被欺骗,所以不能保证。 (但是有多少移动用户会进行UA欺骗以假装他们不是移动用户?)
, 您可以使用一些解决方案:
创建一个特定的移动网站并将其放在文件夹/子域上,然后将任何使用移动设备的用户重定向到该站点,例如:mydomain.com/m/或m.mydomain.com
重定向示例:
http://detectmobilebrowsers.mobi/
http://mobiforge.com/developing/story/lightweight-device-detection-php
要么
您可以使用响应式网页设计技术,为此已经可以使用一些框架
http://csswizardry.com/inuitcss/
http://www.columnal.com/
http://stuffandnonsense.co.uk/projects/320andup/
, 区别在于,高端移动设备(如iphone / android)具有足够的支持和功能,可以支持网站的原始版本(缩放/ javascript等)。其他设备最好是为具有有限显示和/或支持的移动设备开发的基本网站提供服务。
您确实希望移动网站使用特殊的网址-因为您希望移动网站能够正确显示在搜索引擎的移动搜索中。
, www实际上也是一个子域,但是它经常被使用,人们通常不会意识到它。通常,大多数浏览器默认情况下都会添加它,这就是为什么大多数服务器都默认启用它的原因。
您指出的情况也属于子域。服务器检查您的HTTP请求的用户代理,并适当地将您重定向到移动子域。
, 对于您来说,这并不是一个快速的解决方案,但是我强烈建议您阅读alistapart.org上Ethan Marcotte的“响应式Web设计”文章。他介绍了使网站在不同环境下都能正常运行的理念以及实际步骤-从台式机浏览器到移动设备等。网站上有几篇文章(只需搜索自适应网页设计,您将获得以下几篇文章:他的文章在您的结果中。)