1

我有一个网站,根文件夹中有以下文件: index.wml index.php

如果您通过非 wap 浏览器访问,我如何让它打开 index.php,但当它是 wap 浏览器时自动打开 index.wml。我怀疑 .htaccess 文件中必须包含某些内容?

4

5 回答 5

4

我建议您使用移动设备浏览器文件。这是一个包含大量已知设备功能信息的数据库。尽管它是为在 ASP.NET 应用程序中使用而创建的,但它是一个 XML 文件,因此您也可以从 PHP 中使用它(查看文件架构)。

我强烈建议您使用功能来决定如何将内容发送到设备,而不是任何简单的“ if not desktop and not laptop then send_wap()”。查看包含的功能列表

于 2009-06-18T11:05:56.207 回答
1

您可以在 index.php 中通过用户代理切换和将 wap 浏览器重定向到 index.wml 来完成此操作,但我不知道 wap 浏览器在其用户代理字符串中报告什么。

于 2009-06-18T10:39:28.913 回答
1

看看这个脚本:

http://tom.anu007.googlepages.com/wapredirect

允许您根据浏览器指定不同的重定向。

乔什

于 2009-06-18T10:40:31.407 回答
1

如果它只是您想要以不同格式(WAP 和 PHP)呈现的一个页面,请尝试添加一个“手持式”样式表来重新格式化页面和/或隐藏 WAP 浏览器的元素和 div。

<link rel="stylesheet" type="text/css" media="handheld" href="wap.css"> 

否则,您将不得不使用重定向脚本,例如 Josh 链接的那个。

于 2009-06-18T10:48:43.463 回答
1

这可以通过 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]
于 2009-06-18T11:13:09.703 回答