Настройка Web - сервера для поддержки WAP.
Скрипт выдающий WAP или HTML документ в зависимости от браузера.
Если вы не можете создать ( в случае хостинга ) свой
виртуальный адрес для Wap версии сайта например:
http://www.dynamic-design.com.ua/
или или вас не устраивает длинный адрес с добавлением /wap/
http://www.dynamic-design.com.ua/
Вы можете решить проблему с помощью скрипта написанного на Perl'e или
PHP:
Скрипт на PHP.
Вы можете с точность определить какие типы документов понимает браузер
клиента, обычно браузеры сами сообщают серверу, что они понимают wml
документы все это передается HTTP заголовками. На php с помощью
$HTTP_ACCEPT вы узнаете какие типы документов понимает ваш браузер (
браузер клиента ). Кстати ваш браузер понимает, ответил:
image/gif,
image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint,
application/vnd.ms-excel, application/msword, */* - но это не значит, что он
понимает 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"); |
|
При перепечатке ссылка обьязательна.
|