Настройка Web - сервера для поддержки WAP.
Скрипт выдающий WAP или HTML документ в зависимости от браузера.
Если вы не можете создать ( в случае хостинга ) свой
виртуальный адрес для Wap версии сайта например:
http://wap.dynamic-design.com.ua
или или вас не устраивает длинный адрес с добавлением /wap/
http://www.dynamic-design.com.ua/wap/
Вы можете решить проблему с помощью скрипта написанного на Perl'e или PHP:
Скрипт на PHP.
Вы можете с точность определить какие типы документов понимает браузер
клиента, обычно браузеры сами сообщают серверу, что они понимают wml документы
все это передается HTTP заголовками.
На php с помощью $HTTP_ACCEPT вы узнаете какие типы документов понимает ваш браузер ( браузер клиента ).
Кстати ваш браузер понимает, ответил:
*/* - но это не значит, что он понимает text/vnd.wap.wml типы документов. Все WAP браузеры отвечают прямым текстом - text/vnd.wap.wml Вот для этого браузера нужно выдать WML документ!!!
И так скрипт:
<?
if ($HTTP_ACCEPT=="text/vnd.wap.wml") {
// Вот если получим положительный ответ то выведем wml документ.
Header("Content-Type: text/vnd.wap.wml");
//Очень важная строка, если ее нет то wap браузер ругнется,
// что полученный тип документа не text/vnd.wap.wml
echo "<?xml version=\"1.0\"?>";
// Текст WML документа:
?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card id="card1" title="My Wap Page"> <p>Hello world - this is my first wap card!</p> <p><a href="#card2">Go to the second card</a></p> </card> <card id="card2" title="Second Card"> <p>This is my second wap card!</p> <p><a href="#card1">Go back to the first card</a></p> </card> </WML>
<? } else { ?>
<html><body> <title>HTML документ</title> <body> HTML текст.... </body> </html>
<? } ?>
Вот и готово. Этот скрипт можно посмотреть Wap эмулятором.
Скрипт на Перле для определения wap браузера пишется аналогично с учетом синтаксиса Perl'a.
только заголовок будет добавлятся так: print "Content-type:text/vnd.wap.wml \n\n";
Я здесь не буду расписывать скрипты на всех языках как сделать с обычного HTTP сервера WAP - сервер.
Напишу как добавляется HTTP заголовок:
Язык |
Добавление HTTP заголовка |
PHP |
header("content-type: text/vnd.wap.wml"); |
Perl |
print "Content-type:text/vnd.wap.wml \n\n"; |
ASP |
Response.ContentType = "text/vnd.wap.wml" |
Servlet |
response.setContentType("text/vnd.wap.wml"); |
|
При перепечатке ссылка обьязательна.
|