Bilindiği üzere son dönemler de mobil teknolojiler pek bir yaygınlaşmaya başladı. Büyük portallar günden güne mobil bölümlerini hayata geçiriyorlar. Peki örneğin iPhone‘dan sitenize girenleri farklı sayfalara yönlendirmeyi hiç düşündünüz mü? Örneğin iPhone.yakuter.com gibi…
PHP ile Mobil bölümlere yönlendirme için ufak ama faydalı bir PHP sınıfını (class) sizlerle paylaşmak istiyorum…
Web sitemiz: http://www.pchayat.com/
iPhone ile girilince istiyorum ki şuraya yönlensin: http://www.pchayat.com/Mobil/
Sınıfın Kullanımı
Öncelikle PHP sınıfımızı indiriyoruz. http://www.pchayat.com/browser.rar
Daha sonra indeximize aşağıdaki satırları ekliyoruz ve işlemimiz tamamlanıyor.
[php]include ‘browser.php’;
$browser = new Browser();
if( $browser->getBrowser() == Browser::PLATFORM_IPHONE && $browser->getVersion() >= 2 ) {
header ("Location: http://www.pchayat.com/Mobil/");
die;
exit();
}[/php]
Şimdi burada dikkat etmemiz gereken nokta şu: Browser::PLATFORM_IPHONE kullanarak sadece iPhone marka telefonları yönlendirdik. Diğer telefonlar için aşağıdaki listeden faydalanabilirsiniz.
- Windows (Browser->PLATFORM_WINDOWS)
- Windows CE (Browser->PLATFORM_WINDOWS_CE)
- Apple (Browser->PLATFORM_APPLE)
- Linux (Browser->PLATFORM_LINUX)
- OS/2 (Browser->PLATFORM_OS2)
- BeOS (Browser->PLATFORM_BEOS)
- iPhone (Browser->PLATFORM_IPHONE)
- iPod (Browser->PLATFORM_IPOD)
- BlackBerry (Browser->PLATFORM_BLACKBERRY)
- Opera (Browser->BROWSER_OPERA)
- WebTV (Browser->BROWSER_WEBTV)
- NetPositive (Browser->BROWSER_NETPOSITIVE)
- Internet Explorer (Browser->BROWSER_IE)
- Pocket Internet Explorer (Browser->BROWSER_POCKET_IE)
- Galeon (Browser->BROWSER_GALEON)
- Konqueror (Browser->BROWSER_KONQUEROR)
- iCab (Browser->BROWSER_ICAB)
- OmniWeb (Browser->BROWSER_OMNIWEB)
- Phoenix (Browser->BROWSER_PHOENIX)
- Firebird (Browser->BROWSER_FIREBIRD)
- Firefox (Browser->BROWSER_FIREFOX)
- Mozilla (Browser->BROWSER_MOZILLA)
- Amaya (Browser->BROWSER_AMAYA)
- Lynx (Browser->BROWSER_LYNX)
- Safari (Browser->BROWSER_SAFARI)
- iPhone (Browser->BROWSER_IPHONE)
- iPod (Browser->BROWSER_IPOD)
- Google’s Android(Browser->BROWSER_ANDROID)
- Google’s Chrome(Browser->BROWSER_CHROME)
- GoogleBot(Browser->BROWSER_GOOGLEBOT)
- Yahoo!’s Slurp(Browser->BROWSER_SLURP)
- W3C’s Validator(Browser->BROWSER_W3CVALIDATOR)
- BlackBerry(Browser->BROWSER_BLACKBERRY)
Ek olarak diğer sınıf alternatifleri:
PHP5 Browser v1.6 Detection Page
PHP5 Browser v1.6 Detection Download
PHP4 Browser v1.6 Detection Download
Kolay gelsin…
sadece iphone olarak düşünmesek diğer nokia sybian telefonlardada artık web tarayıcıları iphone gibi gelişmiş durumda
Burak, yazının devamında bir çok telefon ve işletim sistemine atıfta bulunulmuş. Sanırım onlar işe yarar.
BLACKBERRY için
if( $browser->getBrowser() == Browser::BROWSER_BLACKBERRY&& $browser->getVersion() >= 2 )
listede ki kodlara göre değişiklik yapabilirsiniz.
Teşekkürler anladım kardeşim ama iphone olarak girilmesinden yana değilim konuya yada tarayıcı yönlendirme değilde direk mobil olarak ayrı sayfa yapımından bahsedilse daha iyi olur bence
iPhone için özel taslaklar var ama normal web sitesi yapar gibi yapabilirsiniz. Tek dikkat etmeniz gereken görselleri az tutup, işlevsellik kazandırmak. Mobil bölümleri bence az grafik çalışması yapılmış, sadece işlem odaklı olmalı. Örneğin Hosting şirketi için domain reg paket seçimi ödeme vs.. tabi tüm bölümleri minimize etmek gerek.
Bence bunun böyle bilgisini vermek yerine nasıl görselleri az tutupta bir "mobile edition" siteyi hayata geçireceğimizi anlatsanız daha iyi olacak. hosting için düşünürsek size yaptıracağımıza emin olabilirsiniz.
WordPress kullanıcıları için bu işlemi yapan şu plugin'i tavsiye edebilirim; http://wordpress.org/extend/plugins/wordpress-mob…
Merhaba.. Öncelikle bu güzel çalışmanıdan dolayı size teşekkür ediyorum.. Bir kaç sorum olacaktı..
Bir site tasarımı yapmaya çalışıyorum.. İstediğim şu kullanıcının girdiği cihaza göre ( mobilden veya telefondan ) siteyi yonlendirmek istiyorum. AMa bu if bloklarını peş peşe sıraladığım zaman hata veriyor..
if( $browser->getBrowser() == Browser::PLATFORM_IPHONE && $browser->getVersion() >= 2 ) {
echo " IPHONE girisi";
die;
exit();
}
bundan sonra mesela ANDROID için de bi sorgulama yapmak istiyorum. Fakat i
if( $browser->getBrowser() == Browser::BROWSER_ANDROID && $browser->getVersion() >= 2 ) {
echo "ANDROID";
die;
exit();
}
kodunu yazdığım zaman hata veriyor.
Bir sorum daha olacak.. Ben bunu daha kısa bir şekilde yapmak istiyorum.. Mesela gelen browser tipi mobil browser sa kullanıcıyı sitenın mobil tasarımına yonlendirsin eger PC browserıysa PC için yapılan tasarıma yonlendirsin kullanıcıyı.. Bunu nasıl yapabilirim..
Sn Serkan Çakmak.
Size bir sorum olucaktı.
# Windows (Browser->PLATFORM_WINDOWS)
# Windows CE (Browser->PLATFORM_WINDOWS_CE)
# Apple (Browser->PLATFORM_APPLE)
# Linux (Browser->PLATFORM_LINUX)
# OS/2 (Browser->PLATFORM_OS2)
# BeOS (Browser->PLATFORM_BEOS)
# iPhone (Browser->PLATFORM_IPHONE)
# iPod (Browser->PLATFORM_IPOD)
# BlackBerry (Browser->PLATFORM_BLACKBERRY)
Bunlar sanırsam telefonlar için kullanılan kodlar. Peki Nokia Sony Ericson yada Operamini için herhangi bir kod var mı? Bunların yönlendirmelerini nasıl yapabiliriz?
güzel anlatım olmuş teşekkürler yakuter.
İşi phpye yaptırmak yerine js ile çözmek daha tasarruflu olmaz mı?
getBrowser() Metodu php 4 için de çalışıyor mu? Galiba ben çalıştıramadım ve php versiyonu ile ilgili olduğunu düşünüyorum.
Symbian İçin de Birşey Varmı?
Bu fonksiyonun çalışabilmesi için browser.php include etmeniz gerekli. Bu dosya ise konu altında belirtilmiş.
Bu arada browser.php nin 1.9 sürümü çıkmış güncelleyebilirsiniz. http://halukunal.com/l/browser19
libkleri yenileyebilir misiniz ?
Merhaba,
Bu php sınıfını css klasörün içine mi atmam gerekiyor.
Hocam merhaba.
siteadi.com sitesini mobilden girildiği zaman m.siteadi.com adresine yönlendiriyorum fakat bunu siteadi.com/aaa ya girildiği zaman m.abprojeyonetimi.com/aaa ya yönlendiremiyorum. Bunu nasıl yapabiliriz acaba yardımcı olabilirmisiniz.
Sitendeki .htaccess dosyasına aşağıdaki kodu yerleştirerek yönlendirme yapabilirsin. Ancak denemediğim için kesin bir şey söyleyemeyeceğim. Senin için yabancı bir siteden buldum, biraz düzenleyip yazdım.
[java]RewriteEngine On
RewriteCond %{HTTP_ACCEPT} "text\/vnd\.wap\.wml|application\/vnd\.wap\.xhtml\+xml" [NC]
RewriteCond %{REQUEST_URI} ^/aaaaaaaa
RewriteRule ^ http://m.domain.com%{REQUEST_URI} [R,L] [/java]
İstersen Simple Mobile Url Redirect gibi yönlendirme eklentilerinden faydalanabilirsin.
2 şekildede denedim hocam fakat htaccess ile olan çalışmadı. eklenti ise sadece anasayfaya yönlendiriyor. bunun başka bi yolu olamazmı acaba siteadi.com/abc ye giriyorsak mobilden m.siteadi.com/abc ye yönlendirsin yani aslında bunun manuel yönlendirmesi var fakat bir sürü yazı var hepsinin linkini tek tek yapmak imkansıza yakın şuan. / dan sonrasını nasıl yönlendirmeye katabiliriz acaba inanın saatlerdir bununla uğraşıyorum bulamadım
Google’ın sık yapılan yanlışlar diye bi sayfasında bununla ilgili bi bölüm var mesela
https://developers.google.com/webmasters/mobile-sites/mobile-seo/common-mistakes
Hatalı yönlendirmeler kısmında şöyle bir resim var ve tam olarak benim sorunum olan şeyde bu hocam
https://developers.google.com/webmasters/mobile-sites/imgs/mobile-seo/faulty-redirects.png