我应该将移动检测放在 .htaccess 或 php 中的哪个位置?
Posted
技术标签:
【中文标题】我应该将移动检测放在 .htaccess 或 php 中的哪个位置?【英文标题】:Where should I put the Mobile detection in .htaccess or php? 【发布时间】:2011-12-16 14:01:21 【问题描述】:我的网站现在有一个移动版本,我想知道我应该在哪里进行重定向。我只能考虑使用以下方法进行重定向:
.htaccess php我想知道哪个更好/更有效?除了 .htaccess 或 PHP 之外,还有更好的方法吗?
谢谢
【问题讨论】:
apache配置会更好吗? 【参考方案1】:我投票给 Apache。
如果您在 Apache 级别执行此操作(在 .htaccess
文件中,或者更好的是在 Apache 配置中),那么如果您有 html 文件,我能想到的唯一检测方法是 javascript;这可以很容易地删除(比如禁用 JavaScript)。
这也适用于其他类型的文件,如 PDF、Word 文档、MP3 文件等。它可以轻松重定向到包含“不可用于移动设备”消息的页面。
如果它们不同(标准版与移动版),我能想到的另一件事是 css 文件。
【讨论】:
关于 CSS 点:您可以使用具有不同media
属性标签的多个 CSS 样式表。例如,您可以有一个<link rel="stylesheet" type="text/css" href="normal.css">
和一个<link rel="stylesheet" type="text/css" media="handheld" href="mobile.css">
。有关更多信息,请参阅this link。【参考方案2】:
绝对是 PHP。您应该允许客户端从移动版切换到完整版再返回,这样会涉及到一些 cookie。
最好在www.example.com
上运行完整版,在不同子域m.example.com
上运行移动版
【讨论】:
【参考方案3】:通过在 PHP 中执行此操作,您可以进行一些自动调整以优化移动查看器的相同内容,而不必拥有完全不同的内容副本。 This article on mobile-friendly PHP design 提供了一些细节。您可能不想遵循它提供的所有提示,因为它是从移动数据速度意味着最小图像最好的时代开始的,但它可以为您提供有关可用于进行调整的方法的想法。
基本上,它相当于创建一个函数,以对您的站点最有意义的方式调整 HTML 输出。然后,您将该函数放入一个文件中,该文件通过 .htaccesss 包含在每个页面中(所以我猜您有点同时使用 PHP 和 .htaccess)。其中一部分是使用ob_start();
在加载时在页面输出上运行该函数。
【讨论】:
以上是关于我应该将移动检测放在 .htaccess 或 php 中的哪个位置?的主要内容,如果未能解决你的问题,请参考以下文章