【发布时间】:2009-06-18 10:33:44
【问题描述】:
我有一个网站,根文件夹中有以下文件: 索引.wml index.php
如果您通过非 wap 浏览器访问,我如何让它打开 index.php,但当它是 wap 浏览器时,它会自动打开 index.wml。我怀疑 .htaccess 文件中必须包含某些内容?
【问题讨论】:
我有一个网站,根文件夹中有以下文件: 索引.wml index.php
如果您通过非 wap 浏览器访问,我如何让它打开 index.php,但当它是 wap 浏览器时,它会自动打开 index.wml。我怀疑 .htaccess 文件中必须包含某些内容?
【问题讨论】:
我建议您使用Mobile Device Browser File。它是一个包含大量已知设备功能信息的数据库。尽管它是为在 ASP.NET 应用程序中使用而创建的,但它是一个 XML 文件,因此您也可以从 PHP 中使用它(查看文件schema)。
我强烈建议您使用功能来决定如何将内容发送到设备,而不是任何简单的“if not desktop and not laptop then send_wap()”。看看list of capabilities included。
【讨论】:
【讨论】:
您可以在 index.php 中通过用户代理切换和将 wap 浏览器重定向到 index.wml 来完成此操作,但我不知道 wap 浏览器在其用户代理字符串中报告什么。
【讨论】:
如果您只想以不同的格式(WAP 和 PHP)呈现一个页面,请尝试添加“手持式”样式表以重新格式化页面和/或隐藏 WAP 浏览器的元素和 div。
<link rel="stylesheet" type="text/css" media="handheld" href="wap.css">
否则,您将不得不使用重定向脚本,例如 Josh 链接的那个。
【讨论】:
这可以通过 mod_rewrite 来完成。
RewriteCond %{HTTP_ACCEPT} application/vnd\.wap\.xhtml\+xml [OR]
RewriteCond %{HTTP_ACCEPT} text/vnd\.wap\.wml
RewriteRule ^index\.php http://host.com/index.wml [L,QSA,R]
【讨论】: