Einfache weiterleitung via header("location")

MasterDS

Erfahrenes Mitglied
Hi!

Ich hab mal eine scheinbar einfach Frage:

Code:
<?php
header("Location: http://www.meineurl.de/meinscript.php");
exit();
?>

Dieser Code steht bei mir in einem HTML Dokument. Wenn ich dieses Dokument aufrufe, passiert aber nichts. Allerdings müsste ich doch auf "meinscript.php" umgeleitet werden.

Jemand eine Idee?
 
Im HTML Code welcher Datei? Also eine mit der Endung .php
Dann wird da nichts daraus, da der Server nur Files mit der Endung
.php (oder je nach Einstellung .php4/5) parst.
 
Danke erstmal.

Leider ist mir damit ja nicht geholfen. Habe ich das richtig verstanden, dass PHP-Code in ".htm" oder ".html" Dateien nicht ausgeführt wird?

Jetzt ist ja die Frage, ist das grundsätzlich so, oder nur bei Strato? Ich Tippe mal, das das an Strato liegt oder?

Was bleibt mir übrig? Gibt es eine Möglichkeit das Problem zu umgehen?

Danke! ;-)
 
Du kannst ja eine Weiterleitung per Meta machen, das kannst Du einfach in den Header schreiben.

HTML:
<meta http-equiv="refresh" content="5; URL=dateiname.htm">

oder gib der html datei einfach die endung php
 
Wenn die HTML über eine PHP inkludiert wird, wird auch in der HTML alles zwischen den PHP Tags geparst. Einen weiteren Versuch würde ich starten in Richtung .htaccess:

Im Stammverzeichnis (httpdocs oder htdocs oder wwwdocs oder was auch immer) kannst du eine Datei mit dem Namen .htaccess anlegen - Falls noch nicht vorhanden, versteht sich. In diese fügst du nun folgende Zeile ein:
Code:
AddType application/x-httpd-php .html .htm
Das bewirkt, dass alle Dateien im Stammverzeichnis und darunter vor dem Ausgeben durch den PHP-Compiler gejagt werden - Das funktioniert leider auch nur, wenn du die nötigen Rechte dazu besitzt. Bei VPS, Rootservern und den meisten Webspaces ist das erlaubt, aber hab da auch schon ein paar Negativfälle miterlebt.

Eine Frage hätte ich aber allgemein zu deinem Problem: Wird der betreffende PHP-Code ausgegeben oder nicht? Wenn nicht, füg einfach mal zu Beginn der Datei folgendes ein:

PHP:
<?php
error_reporting(E_ALL);
?>

Fällt dir da eventuell ne Fehlermeldung auf?
 
Danke für die Antworten.

Also.
1. Die Meta-Weiterleitung möchte ich nicht verwenden. Es geht sich bei dieser Weiterleitung darum, dass beispielsweise Google-Rankings nicht verloren gehen. Und soweit ich weiss, löscht Google verweise bei denen Meta Weiterleitungen verwendet werden. Deswegen ist mir die PHP variante lieber.

2.
Im Stammverzeichnis (httpdocs oder htdocs oder wwwdocs oder was auch immer) kannst du eine Datei mit dem Namen .htaccess anlegen - Falls noch nicht vorhanden, versteht sich. In diese fügst du nun folgende Zeile ein:
Code:

Code:
AddType application/x-httpd-php .html .htm

Das hab ich bereits getestet. Komischerweise versucht er anschließend immer die htm - Datei runterzuladen Komisch oder?

3. Das Errorreporting hab ich ausprobiert. Aber da scheinbar der PHP-Code ignoriert wird, ignoriert er auch diesen in der htm-Datei.

Ich bin ratlos.
 
Naja, klar wenn ich die Datei XY.php nenne, dann Funktionierts. Leider habe ich nichts davon. Denn die Links bei Goolgle lauten XY.htm. Also MUSS die datei ".htm" enden.
 
Zurück