Doorverwijzing
Ik ben al een tijdje opzoek naar een script die ervoor zorgt dat een belg op onze Belgische afdeling's site komt en een Nederlander op de Nederlandse afdeling's site komt.
Bijv.
Ik uit Nederland bezoek www.domein.be alleen ik ben geen belg dus door een bepaald script wordt ik doorverwezen naar www.domein.nl
Is er een bepaald script voor wat dit namelijk kan?
Graag hoor ik van u.
Al vast bedankt!
Google eens "ip2country".
Je kan een (belachelijk lange) database tabel (SQL dump) downloaden, dan kan je met een query het IP omzetten in een landencode.
Ik denk dat je hier wel iets mee bent:
http://phpweby.com/software/ip2country
Een Belg
:)
Kris Peeters op 05/01/2012 08:10:02:
Ja.
Google eens "ip2country".
Je kan een (belachelijk lange) database tabel (SQL dump) downloaden, dan kan je met een query het IP omzetten in een landencode.
Ik denk dat je hier wel iets mee bent:
http://phpweby.com/software/ip2country
Een Belg
:)
Google eens "ip2country".
Je kan een (belachelijk lange) database tabel (SQL dump) downloaden, dan kan je met een query het IP omzetten in een landencode.
Ik denk dat je hier wel iets mee bent:
http://phpweby.com/software/ip2country
Een Belg
:)
Maar wat doet http://paysafecard.com dan, want als je naar de website gaat wordt je als nederlander doorgelinkt naar de nederlandse sectie.
En als ik even zijn metatags erbij pakt zie ik het volgende verschijnen.
<meta name="Language" content="nl" />
<meta name="Content-language" content="nl" />
<meta name="pageID" content="61" />
<meta name="T3Language" content="13" />
Wat houd dit in, sommige delen weet ik alleen als laatste staat "T3language" wat houd dat in?
Joshua van Londen op 05/01/2012 14:53:59:
Wat houd dit in, sommige delen weet ik alleen als laatste staat "T3language" wat houd dat in?
Vast een onderdeel/module van het Typo3 CMS.
Joshua van Londen op 05/01/2012 14:53:59:
Maar wat doet http://paysafecard.com dan, want als je naar de website gaat wordt je als nederlander doorgelinkt naar de nederlandse sectie.
Jij misschien. Ik kom op een (engelstalige) pagina met allemaal vlaggetjes waar ik zelf mijn taal/land moet kiezen.
Maar ik weet niet of NL en BE van elkaar verschillen (never tried)
Jelle - op 05/01/2012 15:08:54:
En hoe moet ik dus iemand van dat land dan doorlinken naar de pagina waar ik hem dus wilt hebben?Je kan kijken naar de language van de browser $_SERVER['HTTP_ACCEPT_LANGUAGE']
Maar ik weet niet of NL en BE van elkaar verschillen (never tried)
Maar ik weet niet of NL en BE van elkaar verschillen (never tried)
e
header().
En kans dus ook volledige website, kunt u mij een voorbeeld geven.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Dan ben je al een eindje verder.
@Jelle, ik denk dat je voorbeeld niet gaat werken. Kijk eens naar de output van $_SERVER['HTTP_ACCEPT_LANGUAGE']? En waarom onderdruk je foutmeldingen met een @?
Gewijzigd op 05/01/2012 15:30:33 door - Ariën -
De case values aanpassen kan hij zelf wel, je kan ook case stacken
case 'nl':
case 'nl-nl':
geen idee wat de mogenlijke waardes zijn dat mag hij zelf uitzoeken.
ik onderdruk de foutmelding omdat als de variable niet bestaat (misschien bij sommige browsers?) dan boeit de error me niet en wil ik gewoon dat het script verder gaat (en die wordt dan doorverwezen bij de default)
Jelle - op 05/01/2012 15:32:42:
geen idee wat de mogenlijke waardes zijn dat mag hij zelf uitzoeken.
nl,en-us;q=0.7,en;q=0.3
- SanThe - op 05/01/2012 15:37:05:
nl,en-us;q=0.7,en;q=0.3
Jelle - op 05/01/2012 15:32:42:
geen idee wat de mogenlijke waardes zijn dat mag hij zelf uitzoeken.
nl,en-us;q=0.7,en;q=0.3
Irritant dat wordt dus
$language = substr(@$_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
Zoals Aar al aangaf focus je dan alleen op de eerste bruikbare twee tekens
Gewijzigd op 05/01/2012 15:40:24 door Jelle -
Jelle - op 05/01/2012 15:32:42:
ik onderdruk de foutmelding omdat als de variable niet bestaat (misschien bij sommige browsers?) dan boeit de error me niet en wil ik gewoon dat het script verder gaat (en die wordt dan doorverwezen bij de default)
Browsers bepalen nooit of een variabele wel of niet moet bestaan. Als een browser niks nuttigs erin wil invullen, levert PHP deze gewoon leeg op. Dus die @ kan gewoon weg.
Dus kan iemand mij dan een goed voorbeeld geven wat ik direct in mijn head kan plaatsen, waarbij ik alleen de link hoeft te veranderen
Probeer zelf eens wat, er zijn al voorbeelden gegeven...
Er wordt net verteld dat' dat voorbeeld niet klopt of niet werkt, dus dan lijkt me dat geen goed voorbeeld.
Met de aangepaste regel van Jelle werkt het nu wel.
Toevoeging op 05/01/2012 16:14:06:
Beste,
$language = @$_SERVER['HTTP_ACCEPT_LANGUAGE']; // not sure if it always exist
switch($language){
case 'nl':
header('Location: http://serveip.nl');
break;
case 'be':
header('Location: http://serveip.be');
break;
default:
header('Location: http://serveip.nl');
}
?>
Maar als ik nu dus naar serveip.nl gaat normaal, linkt die door naar https://serveip.nl alleen dan laat die opeens niet meer,
en krijg ik dit te zien,
De webpagina op https://serveip.nl/ heeft geleid tot te veel omleidingen.