使网站自动选择WAP或普通版本?

时间:2009-06-18 10:33:45

标签: php xml apache wap wml

我的网站在根文件夹中包含以下文件:  index.wml  的index.php

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

5 个答案:

答案 0 :(得分:4)

我建议您使用Mobile Device Browser File。它是一个包含大量已知设备的功能信息的数据库。即使创建它是为了在ASP.NET应用程序中使用,它也是一个XML文件,因此您也可以在PHP中使用它(请查看文件schema)。

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

看一下这个脚本:

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

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

约什

答案 3 :(得分:1)

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

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

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

答案 4 :(得分: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]