Du kan godt gøre det i PHP, men har ikke selv prøvet det, og det vil heller ikke være den mest optimale løsning.
Benytter du en Apache server, så vil den optimale løsning være at bruge .htaccess til denne opgave.
Her har du et eksempel:
RewriteCond %{HTTP_HOST} !^m.mitsite.dk$
RewriteCond %{HTTP_ACCEPT} "text\/vnd\.wap\.wml|application\/vnd\.wap\.xhtml\+xml" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "sony|symbian|nokia|samsung|mobile|windows ce|epoc|opera" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "mini|nitro|j2me|midp-|cldc-|netfront|mot|up\.browser|up\.link|audiovox"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "blackberry|ericsson,|panasonic|philips|sanyo|sharp|sie-"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "portalmmm|blazer|avantgo|danger|palm|series60|palmsource|pocketpc"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "smartphone|rover|ipaq|au-mic,|alcatel|ericy|vodafone\/|wap1\.|wap2\.|iPhone|android"[NC]
RewriteRule ^(.+)\$ http://m.mitsite.dk/$1 [R=302,NC]Jeg vil ikke forklare dig hvordan det egentlig fungere, da du selv må finde nogle tutorials i brugen af .htaccess. Men, det her vil i teorien, tjekke at brugeren ikke allerede er gået ind på den specielle smartphone del, så vi undgår et uendeligt loop. Derefter tjekker den om, det er en mobil ved at se om enheden kan modtage nogle specifikke MIME-typer, og ved at se hvad enheden "kalder" sig selv.
Er det en smartphone, så videresender vi brugeren til den specielle smartphone del, hvis brugeren som sagt ikke allerede befinder sig der.
Med hensyn til, hvordan du skal designe siden, så skal du ikke gå efter en skærmstørrelse, da det kan variere meget. Det du skal gøre er at sørge for at siden ikke indeholder unødvendige ting, og gøre elementer som knapper osv., i en god størrelse.
Den eventuelle Smartphone vil selv tilpasse siden til skærmstørrelsen, og brugeren kan som sagt, selv zoome ind og ud.
Da de fleste Smartphones kører på styresystemer, udviklet af firmaer som også udvikler browsere til den almene computer, er situationen ikke anderledes end normalt.
- Android - Google. Google benytter WebKit som grafik engine, og du kan derfor teste siden i Chrome.
- iPhone - Apple. Apple benytter også WebKit, så der kan du også teste siden i Chrome, eller deres egen Safari.
- Windows - Microsoft. Microsoft benytter deres egen engine, kaldet Trident, og du kan derfor teste siden i Internet Explorer.
- Firefox - Mozilla. Firefox kører på en engine kaldet Gecko.
- Opera - Oracle. Oracle benytter en engine kaldet Presto og kan derfor testes i Opera. Ved ikke om der er nogen Smartphones som benytter Opera som browser som standard.
Dog skal du huske, at folk jo godt kan downloade en anden browser til deres Smartphone end den der følger med fra starten. Så ligesom normalt, så sørg for at den fungerer i alle 4 engines.
Håber det hjælper dig lidt videre. ;)