-
Üyelik
22.02.2014
-
Yaş/Cinsiyet
40 / E
-
Meslek
Php,Java,C,C++,C# Geliştirici
-
Konum
İstanbul Avrupa
-
Ad Soyad
T** K**
-
Mesajlar
113
-
Beğeniler
6 / 13
-
Ticaret
2, (%100)
Dile göre yönlendirme kodum normal olarak çalışıyor. Bu kodu index.php ye ekledim. Yönlendirme yapmaktadır. Fakat benim yapmak istediğim şu örneğin misafir sayfaya giriş yaptı en/ alanına otomatik geldi. Tekrar tr/ alanına gelmek istediğinde index.php ye geldiğinde en/ alanına yönlendirme yapmasın.
$dil = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
if ($dil == 'tr') { header("Location: index.php"); }
else { header("Location: en/"); }
-
Üyelik
21.05.2016
-
Yaş/Cinsiyet
34 / E
-
Meslek
Backend Developer
-
Konum
Ankara
-
Ad Soyad
E** E**
-
Mesajlar
99
-
Beğeniler
6 / 27
-
Ticaret
0, (%0)
PHP'de setcookie fonksiyonu kullanarak ilk yönlendirmede, yönlendirme işleminin gerçekleştiğini tarayıcıya hafızalarsınız. Birde if'e daha önce yönlendirilmediyse yönlendir tanımı yaparsınız.
Böylelikle sorundan kurtulmuş olursunuz.
https://ehantechnology.com/
maymaa
Kimlik Onayı Bekliyor
Banlı Kullanıcı
-
Üyelik
16.06.2016
-
Yaş/Cinsiyet
35 / E
-
Meslek
Öğrenci
-
Konum
Gaziantep
-
Ad Soyad
M** Ö**
-
Mesajlar
274
-
Beğeniler
54 / 34
-
Ticaret
1, (%100)
referere bakarsın en den geldiyse yönlendirme yapma diye
1 kişi bu mesajı beğendi.
-
Üyelik
22.02.2014
-
Yaş/Cinsiyet
40 / E
-
Meslek
Php,Java,C,C++,C# Geliştirici
-
Konum
İstanbul Avrupa
-
Ad Soyad
T** K**
-
Mesajlar
113
-
Beğeniler
6 / 13
-
Ticaret
2, (%100)
Böyle bir örnek yaptım. doğru mu yaptım acaba?
$dil = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
$geldigi_sayfa = $_SERVER['HTTP_REFERER'];
if($geldigi_sayfa=='en'){} else{
if ($dil == 'tr') { header("Location: index.php"); }
else { header("Location: en/"); }
}
maymaa
Kimlik Onayı Bekliyor
Banlı Kullanıcı
-
Üyelik
16.06.2016
-
Yaş/Cinsiyet
35 / E
-
Meslek
Öğrenci
-
Konum
Gaziantep
-
Ad Soyad
M** Ö**
-
Mesajlar
274
-
Beğeniler
54 / 34
-
Ticaret
1, (%100)
if($geldigi_sayfa=='en'){} else{
bu kısımdaki en i tam sayfa adı ile değiştir
if($geldigi_sayfa=='http://sayfa.com/en/'){} else{
gibi kendi siteni yaz
1 kişi bu mesajı beğendi.
-
Üyelik
22.02.2014
-
Yaş/Cinsiyet
40 / E
-
Meslek
Php,Java,C,C++,C# Geliştirici
-
Konum
İstanbul Avrupa
-
Ad Soyad
T** K**
-
Mesajlar
113
-
Beğeniler
6 / 13
-
Ticaret
2, (%100)
BU ŞEKİLDE YAPTIM AMA ÇALIŞMIYOR SİTEDE SORUN NEREDE BİLEMEDİM !
$dil = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
$geldigi_sayfa = $_SERVER['HTTP_REFERER'];
if($geldigi_sayfa=='http://www.sayfa.com/en/'){} else{
if ($dil == 'tr') { header("Location: index.php"); }
else { header("Location: en/"); }
}
maymaa
Kimlik Onayı Bekliyor
Banlı Kullanıcı
-
Üyelik
16.06.2016
-
Yaş/Cinsiyet
35 / E
-
Meslek
Öğrenci
-
Konum
Gaziantep
-
Ad Soyad
M** Ö**
-
Mesajlar
274
-
Beğeniler
54 / 34
-
Ticaret
1, (%100)
$dil = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
$geldigi_sayfa = $_SERVER['HTTP_REFERER'];
echo $geldigi_sayfa;
if($geldigi_sayfa=='http://www.kanula.com.tr/en/'){} else{
if ($dil == 'tr') { header("Location: index.php"); }
else { header("Location: en/"); }
}
yaparak geldiği yeri tam olarak yazın sıkıntı çıkabiliyor
-
Üyelik
21.05.2016
-
Yaş/Cinsiyet
34 / E
-
Meslek
Backend Developer
-
Konum
Ankara
-
Ad Soyad
E** E**
-
Mesajlar
99
-
Beğeniler
6 / 27
-
Ticaret
0, (%0)
Böyle yaparsan 10 günlük bir veri atarsın kullanıcının tarayıcısına. 10 gün sonra çerez süresi biter ve yeniden dil yönlendirmesi yapar. 10 gün ise +604800 kısmını ifade eder. 30 gün yapmak istersen bu sayıyı 3 le çarp ve aşağıda ki 2 satırda ki sayıyla bunu değiştir.
Kodları denemedim, sorun olursa buraya yazarsın tekrar.
$dil = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
$dil_cookie = @$_COOKIE['dil'];
if( $dil_cookie == NULL ) {
if ($dil == 'tr') {
setcookie('dil','tr', +604800);
echo '<script>window.location.href ="index.php";</script>';
} else {
setcookie('dil','en', +604800);
echo '<script>window.location.href ="en/";</script>';
}
}
?>
1 kişi bu mesajı beğendi.
https://ehantechnology.com/