Bolle: 301 Weiterleitung

Hallo Leute,

unter folgenden Link habe ich einige Infos bekommen, leider funktioniert das aber nicht wie ich will, zumindest bei mir:
http://forum.de.selfhtml.org/archiv/2009/5/t186436/#m1238317

Bisher waren meine Seiten im Stil "http://www.meinedomain.de/index.php?seite=blabla" aufgebaut.

Da ich diese Includierung abgelegt habe und nun SEO optimiert programmiert habe habe ich andere Seiten, z.B. "http://www.meinedomain.de/blabla.php"

Nun ist es aber so, dass Suchmaschinen lange brauchen, darum kommen viele Leute auf Seiten, welche es nicht mehr gibt:
http://www.meinedomain.de/index.php?seite=blabla
http://www.meinedomain.de/index.php?seite=blibli
http://www.meinedomain.de/index.php?seite=blublu
...

Im Moment habe ich eine redirect, welche alle Anfrage auf die neue Hauptseite senden. Da die Dateien blabla, blibli und blublu im Ordner includes waren werden nun alle Anfragen an den Ordner includes zur der Domain.
Das ist natürlich für die Besucher verwirrend. Besser wäre, dass ich für jede alte Datei eine Verlinkung zur neuen Datei hätte, z.B.
http://www.meinedomain.de/index.php?seite=blabla
--> http://www.meinedomain.de/blabla.php
http://www.meinedomain.de/index.php?seite=blibli
--> http://www.meinedomain.de/blibli.php
http://www.meinedomain.de/index.php?seite=blublu
--> http://www.meinedomain.de/blublu.php

Angelehnt daran habe ich folgendes erstellt:
--> .htaccess
RewriteEngine  on
RewriteRule  ^.*.php$ http://www.meinedomain.de/rewriteold.php [R,301]

--> dazu passend die rewriteold.php
$old_sites[blabla] = 'blabla';
$old_sites[blibli] = 'blibli';
$old_sites[blublu] = 'blublu';

if(array_key_exists(intval($_GET['seite']),$old_sites))
{
  header('HTTP/1.1 301 Moved Permanently');
  header('Location: http://www.meinedomain.de/'.$old_sites[intval($_GET['seite'])].'.php');
}
else
{
irgend eine FehlerseitenURL auf dem Server :)
}

Das Problem ist also, dass "500 internal server error" bekomme und ich finde den Fehler nicht :( In der htaccess ist etwas falsch, so kommt es noch nicht mal zu rewriteold.php

Hopsel: Falls du diesen Hilfeschrei hörst würde ich mich freuen, wenn du auch mit helfen könntest, wobei ich Hilfe andere nicht ausschlagen würde

  1. Hi!

    Das ist natürlich für die Besucher verwirrend. Besser wäre, dass ich für jede alte Datei eine Verlinkung zur neuen Datei hätte, z.B.
    http://www.meinedomain.de/index.php?seite=blabla
    --> http://www.meinedomain.de/blabla.php

    Auch dein Posting ist etwas verwirrend, aber wenn ich dich richtig verstanden habe, dann brauchst du gar kein Rewrite mittels .htaccess sondern wertest in deiner index.php $_GET[] aus und leitest auf die neue Seite um.

    ...wobei ich Hilfe andere nicht ausschlagen würde

    Danke für deine Großzügigkeit!

    FG Ulysses

    1. Hallo Ulysses

      Hi!

      Das ist natürlich für die Besucher verwirrend. Besser wäre, dass ich für jede alte Datei eine Verlinkung zur neuen Datei hätte, z.B.
      http://www.meinedomain.de/index.php?seite=blabla
      --> http://www.meinedomain.de/blabla.php
      Auch dein Posting ist etwas verwirrend, aber wenn ich dich richtig verstanden habe, dann brauchst du gar kein Rewrite mittels .htaccess sondern wertest in deiner index.php $_GET[] aus und leitest auf die neue Seite um.

      Sorry, ich wollte niemanden verwirren. Wenn ich ehrlich bin muss ich sagen, dass ich nun verwirrt bin. Ich hatte ja den Link ganz geschickt gehabt. In diesem Thread kam ja eine Lösung raus, welche ich auf mein Vorhaben angepaßt habe, zumindest versucht. Sicherlich ist mittlerweile aufgefallen, dass ich von PHP nicht soviel Ahnung habe :( In dem Link ging es auch darum, dass eine Reihe von alten Links auf neue Links umgeleitet werden. So ist es bei mir auch. Ich müßte etwa 50 Seiten umleiten, welche eben alle mit "index.php?seite=" beginnen.
      In meinem Beispiel "index.php?seite=blabla" schrieb ich, dass die neue Datei so auch heißt, so ist es natürlich nicht, die Namen der alten und der dazu gehörigen neuen Datei sind nie identisch.
      Für mich stellt sich nun die Frage, warum es zu diesem Fehler kommt und warum die .htaccess nicht korrrekt ist, denn bis zur Abhandlung der Scriptdatei kommt es ja gar nicht.

      Vielleicht ist das noch wichtig: weder der Ordner includes noch die Dateien existieren in irgendeiner Art und Weise. Es geht nur darum, dass alte Suchmaschinenlinks auf die aktuellen, optimieren Seiten mit identischen Inhalt aber anderen Namen geführt werden

      ...wobei ich Hilfe andere nicht ausschlagen würde
      Danke für deine Großzügigkeit!

      Ich danke dir vielmals :)

      FG Ulysses

      1. Hi!

        Ich hatte ja den Link ganz geschickt gehabt. In diesem Thread kam ja eine Lösung raus, welche ich auf mein Vorhaben angepaßt habe, zumindest versucht.

        Nur, dass du nicht auf eine php-Datei umleiten musst, sondern das gnze in der index.php abhandeln kannst.

        Für mich stellt sich nun die Frage, warum es zu diesem Fehler kommt und warum die .htaccess nicht korrrekt ist, denn bis zur Abhandlung der Scriptdatei kommt es ja gar nicht.

        Dann solltest du mal ins Error- und RewriteLog schauen. Wobei ich nach wie vor der Meinung bin, dass du kein Rewrite brauchst!

        FG Ulysses