Ich habe in einer .htaccess eine Weiterleitung:
Code: Alles auswählen
RewriteEngine On
RewriteRule (.*) http://www.domain.de/$1 [R=301,L]
ein PHP-Script aufzurufen? Wenn ja, wie müsste der Code ausschauen?
Gruß
Andreas
Herzlich willkommen im Archiv vom ABAKUS Online Marketing Forum
Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.
Code: Alles auswählen
RewriteEngine On
RewriteRule (.*) http://www.domain.de/$1 [R=301,L]
Nur nebenbei, falls das alles wäre, ginge so eine pauschale Weiterleitung effektiver so: Redirect permanent / httр://www.domain.de/ - eine Zeile für alles., die auch keine aufwändige Musterbearbeitung benötigt.AndreasB. hat geschrieben: Ich habe in einer .htaccess eine Weiterleitung:Code: Alles auswählen
RewriteEngine On RewriteRule (.*) http://www.domain.de/$1 [R=301,L]
Jein. Die .htaccess ist eine Konfigurationsdatei des Apache-Webservers, entsprechend sind die Möglichkeiten begrenzt.Nun möchte ich aber gerne die Besucher zählen, die jeweils über die ursprünglichen Domains gekommen sind. Ist es möglich in der .htaccess
ein PHP-Script aufzurufen?
Code: Alles auswählen
RewriteEngine on
RewriteBase /
RewriteRule . zaehler.php
Code: Alles auswählen
<?php
$grafzahl++;
header("HTTP/1.0 301 Guggeduhier");
header("Location: http://www.example.com" . $_SERVER["REDIRECT_URI"]);
?>
hier wird doch dann aber nur auf die Domain umgeleitet. Wenn die aufgerufene URL aber einen Zusatz hat (z.B. www.domain.de/test.php), dann wird das test.php nicht mit übergeben. Das ist aber wichtig.Nur nebenbei, falls das alles wäre, ginge so eine pauschale Weiterleitung effektiver so: Redirect permanent / httр://www.domain.de/ - eine Zeile für alles., die auch keine aufwändige Musterbearbeitung benötigt.
Code: Alles auswählen
RewriteEngine On
RewriteRule . zaehler.php
RewriteRule (.*) http://www.domain.de/$1 [R=301,L]
Code: Alles auswählen
<meta http-equiv="refresh"
content="0; url=http://www.domain.de<?php echo $_SERVER["REQUEST_URI"]; ?>" />
Nein, Redirect leitet alles weiter, was unterhalb des angegebenen Pfades liegt, siehe Anleitung („any request beginning with URL-Path will return a redirect request to the client at the location of the target URL. Additional path information beyond the matched URL-Path will be appended to the target URL.“).AndreasB. hat geschrieben:hier wird doch dann aber nur auf die Domain umgeleitet. Wenn die aufgerufene URL aber einen Zusatz hat (z.B. www.domain.de/test.php), dann wird das test.php nicht mit übergeben.Nur nebenbei, falls das alles wäre, ginge so eine pauschale Weiterleitung effektiver so: Redirect permanent / httр://www.domain.de/ - eine Zeile für alles., die auch keine aufwändige Musterbearbeitung benötigt.
So, wie geschrieben. RewriteRule . zaehler.php biegt den angefragten Pfad auf zaehler.php um, speichert aber den Originalpfad in der Variablen REDIRECT_URI. Auf diese Variable greift zaehler.php dann in header("Location: https://www.example.com" . $_SERVER["REDIRECT_URI"]); zurück.Wie müsste der zaehler.php ausschauen, wenn die kompletten links weiter geleitet werden sollen. Also www.domain.de/test.php auf www.domain_neu/test.php (dies sollte aber bei allen Anhängen funktionieren)?
Nein und nein. Eine Anfrage an test.html würde zuerst (intern) in zaehler.php umgewandelt werden, anschließend würde zaehler.php in domain.de/zaehler.php umgewandelt und die externe Weiterleitung ausgegeben werden.Würde es nicht auch so funktionieren (in der .htaccess):Oder würde hier nur die zaehler.php abgearbeitet werden?Code: Alles auswählen
RewriteEngine On RewriteRule . zaehler.php RewriteRule (.*) http://www.domain.de/$1 [R=301,L]
<meta>-refresh ist eine Krücke für Leute, die keine Möglichkeit haben, selbst eine echte Weiterleitung auszugeben. Es ist schon ganz grundsätzlich schlichtweg Unfug, aus PHP heraus dieses Teil auszugeben, da PHP wie beschrieben auch echte Weiterleitungen ausgeben kann - du hast das Original an der Hand, benutzt aber eine mehr schlechte als rechte Kopie.AndreasB. hat geschrieben:Wie schaut es mit folgendem aus:Code: Alles auswählen
<meta http-equiv="refresh" content="0; url=http://www.domain.de<?php echo $_SERVER["REQUEST_URI"]; ?>" />
Aha. Dann dürfte es auch mit deinem <meta>-Vorschlag nicht funktionieren, schließlich kann der Browser nach den gewünschten 0 Sekunden (lies: sofort) schon längst die nächste Seite geladen haben, anstatt sich noch damit aufzuhalten, von irgendwo ein Bild zu holen, das er eigentlich eh nicht anzuzeigen braucht.AndreasB. hat geschrieben:das mit der RewriteRule und der zaehler.php würde ich gerne machen, aber die Zählung der Zugriffe findet extern statt. Hier muss ich ein Bild einbinden
Code: Alles auswählen
$fsockopen = fsockopen ('http://static.racecore.de/blablup_bild.jpg', 80, $errno, $errstr, 30);
header("HTTP/1.0 301 Moved Permanently");
header("Location: http://www.....blablup");