需 求
你要對(duì) Apache Web Server, php 和 html 有點(diǎn)經(jīng)驗(yàn). 對(duì)系統(tǒng)的要求來(lái)說,我是用 apache 1.3.9, php3, 和 Red Hat Linux 6.0 來(lái)示范. 我還沒碰到在 windows 上跑 Apache, 和 php3 或 php4 上的任何問題.
在這篇文章,我將指導(dǎo)你接觸的領(lǐng)域: wml 的介紹,在 Apache 上設(shè)定無(wú)線 appications ,并且建立你的第一個(gè) WML/php 網(wǎng)頁(yè).大部份的資訊可從網(wǎng)際網(wǎng)路上收集.
WML 簡(jiǎn) 介
WML 代表無(wú)線的標(biāo)注語(yǔ)言. WAP 電話或類似的設(shè)備被用來(lái)以 WML 寫成的網(wǎng)頁(yè)。WML 基于它類似於 XML 的句法和 scrictness 。使用過了 html 的任何人將不有問題學(xué)習(xí) WML 。許多標(biāo)簽和屬性是一樣的,況且標(biāo)簽不多. WML 允許程式開發(fā)者開發(fā)動(dòng)態(tài)的內(nèi)容, 盡管為這篇文章我們將以php作為動(dòng)態(tài)的語(yǔ)言.
WML 基 礎(chǔ)
在 WML 你能使用許多子頁(yè) ( 叫 "cards'' ) 在一個(gè) WML 頁(yè)中 (叫 " deck") .每個(gè) WML card 的作用像在網(wǎng)頁(yè)中被顯示的內(nèi)容.下列將是我們 .wml 頁(yè)的例子 。在我的 Server 上,我在 ~ /wireless/home.wml 儲(chǔ)存了這個(gè)檔案
<wml>
<card id='home'> <p> 我的第一個(gè)測(cè)試頁(yè) </p>
</card>
</wml>
不同于 HTML ,如果你不colse 標(biāo)簽, 例如 <wml> </wml>,則你的程式碼將不正確. 此例子會(huì)在任何無(wú)線的設(shè)備上產(chǎn)生一簡(jiǎn)單的測(cè)試信息“我的第一個(gè)測(cè)試頁(yè)”。
設(shè) 定 Apache
好, 現(xiàn)在有趣的部分.為了 apache 能 catch 住無(wú)線設(shè)備到訪你的Server, 你需要建立你的 httpd.conf ( 我的檔案位於 /etc/httpd/conf/) 檔案, 我用 php3 因此所有的變化會(huì)被記錄。在你開始以前,你可以備份你的 httpd.conf 檔案,以防萬(wàn)一:)
步驟 1 :第一, 我們需要 AddType 功能增加一新的 MIME 類型。你需要到你定義 php 的 Script 中。看起來(lái)像下面一樣:
<IfModule mod_php3.c>
AddType application/x-httpd-php3 .php3 .php .phtml
AddType application/x-httpd-php3-source .phps
</IfModule>
要改為:
<IfModule mod_php3.c>
AddType application/x-httpd-php3 .php3 .php .phtml .wml
AddType application/x-httpd-php3-source .phps
</IfModule>
這會(huì)用 php compiler 在所有的 .wml 頁(yè).
步驟 2 :去除Mark(Uncomment)apache Load Module 和 Add Module
變更:
#LoadModule rewrite_module modules/mod_rewrite.so
#AddModule mod_rewrite.c
成:
LoadModule rewrite_module modules/mod_rewrite.so
AddModule mod_rewrite.c
步驟 3 : 用 apache mod_rewrite module (只適用 1.2+版以上 ). 用這個(gè),你可以即時(shí)的 rewite requested URL(當(dāng)條件符合時(shí)). 需要把這片斷碼放在網(wǎng)頁(yè)的底部.
RewriteEngine On
# Catch most WAP browsers
RewriteCond %{HTTP_ACCEPT} text/vnd/.wap/.wml [OR]
# WinWAP, WAPjag
RewriteCond %{HTTP_USER_AGENT} wap [OR]
#Nokia emulators (sdk)
RewriteCond %{HTTP_USER_AGENT} 7110
# Rewrite to where your wireless page is located
RewriteRule ^[/./](.*)$ /home/mydirectory/wireless/home.wml [L]
現(xiàn)在要重新啟動(dòng) apache server.
產(chǎn)生你第一個(gè)無(wú)線 WML/php 網(wǎng)頁(yè)
Ok, 既然我們?nèi)f事俱備, 讓我們建立第一個(gè)網(wǎng)頁(yè)。為了能正常運(yùn)作,你需傳送正確的 header 資訊.
<?php
# Send the header information<br>
header("Content-type: text/vnd.wap.wml");
?>
# put in the wml code
<wml>
<card id='home'>
<p>
My first test page
<p>
</card>
</wml>
你剛完成了你的第一個(gè)“簡(jiǎn)單”的無(wú)線網(wǎng)頁(yè)。現(xiàn)在, 讓我們?cè)囍ψ鲆恍┹^難的東西吧。
你需要檢查你 WAP 兼容的網(wǎng)站設(shè)備。我使用 Phone.com 軟件開發(fā)工具包, 它包含 UP.Simulator , 可以檢查我的無(wú)線網(wǎng)頁(yè)。選擇不同的電話并且看他們的無(wú)線網(wǎng)頁(yè)通過不同的設(shè)備時(shí)看起來(lái)的長(zhǎng)像。
更多的資訊在:
http://updev.phone.com
http://www.wapforum.org
http://www.wap.com
http://www.waplinks.com
php技術(shù):WML,Apache,和 PHP 的介紹,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。