Archiv verlassen und diese Seite im Standarddesign anzeigen : Besucher je nach IP weiterleiten
Hallo zusammen!
Da ich nur sehr fragmentarische Kenntnisse in PHP habe, wollte ich Euch mal fragen, wie man eventuell bestimmte Besuchergruppen auf jeweils unterschiedliche Seiten einer Domain weiterleiten kann.
Also, der Besucher A mit der IP xxx.xxx.xxx.xxx soll zu index.php, der Besucher B mit der IP yyy.yyy.yyy.yyy soll zu Seite index2.php.
Kann man das auch einfach über eine .htaccess-Datei?
Wäre froh, wenn Ihr mir helfen könntet; damit erspare ich mir in der Verwaltung dieser Website dann viel Arbeit.
Gruß
Mnasdaq
Felix Kaiser
05.06.2002, 23:59
switch($REMOTE_ADDR) {
case "xxx.xxx.xxx.xxx":
Header("Location: index2.php");
break;
case "yyy.yyy.yyy.yyy":
Header("Location: index3.php");
break;
default: // Alle übrigen IPs
Header("Location: index4.php");
}
Sollte klappen, trage halt die IPs und Zieladressen ein, macht aber nur Sinn bei festen IPs...
Du hast recht, dass macht nur Sinn bei statischen IPs. Kannst Du mir sagen, wie mein Problem mit IPs lösen kann, von denen ich nur die ersten 6 Stellen kenne (also 123.456.xxx.xxx)?
Eine bestimmte Gruppe besucht meine Site, deren IPs nur jeweils von Besucher zu Besucher und von Zeit zu Zeit in den letzten 6 Ziffern variieren.
Gruß
Mnasdaq
Jan Krüger
06.06.2002, 20:52
mit perl regexps.
if(preg_match("/^123\.45\./", $REMOTE_ADDR)) {
// Code für alle IPs 123.45.xxx.xxx
}
oder: mit strpos (ist etwas schneller)
if(is_int($posi = strpos($REMOTE_ADDR, "123.45.")) && !$posi) {
// Code für alle IPs 123.45.xxx.xxx
}
usw.
So, jetzt habt Ihr mir aber echt schnell und vor allem auch sehr gut geholfen --> es funktioniert!!!
Guckt mal:
<?php
if(is_int($posi = strpos($REMOTE_ADDR, "212.224.")) && !$posi) {
include '/home/xxx-de/htdocs/f/pindex.php';
}
else
include '/home/xxx-de/htdocs/pindex.php';
?>
das funktioniert aber nicht, weil jede IP zu pindex.php und nicht die betreffende zu f/pindex.php weitergeleitet wird...
HELFT MIR!!!
Felix Kaiser
10.06.2002, 00:24
Dann sag mir mal warum du da include benutzt? Das hat ja nun nichts mit Weiterleitung zu tun ...
erfüllt aber trotzdem den hier gewünschten zweck ...
Jan Krüger
10.06.2002, 11:19
hm... geht bei mir aber :D
C:\>php
<?
$REMOTE_ADDR = "212.224.123.45";
if(is_int($posi = strpos($REMOTE_ADDR, "212.224.")) && !$posi) print "match!";
?>
^Z
Content-type: text/html
match!
C:\>
übrigens funktioniert das nur mit apache-servern und komptiblen. andere server setzen teilweise ihre variablen woandershin. ;)
Gut, wenn mir einer vielleicht sagen könnte wie man weiterleitet...
...in den Semesterferien lerne ichs....
Jan Krüger
10.06.2002, 15:37
hat Felix aka Guru schon weiter oben verraten: ;)
header("Location: f/index.php");
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.