PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Besucher je nach IP weiterleiten


mnasdaq
05.06.2002, 21:06
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...

mnasdaq
06.06.2002, 13:17
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.

mnasdaq
06.06.2002, 22:34
So, jetzt habt Ihr mir aber echt schnell und vor allem auch sehr gut geholfen --> es funktioniert!!!

mnasdaq
09.06.2002, 23:07
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 ...

Bauchi
10.06.2002, 01:01
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. ;)

mnasdaq
10.06.2002, 15:03
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");