Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

TYPO3 - 301 RedirectPermanent

Mehrere Domains, Domain-Umzug, neue Dateinamen, 301/302
Boeser-Nachbar
PostRank 1
PostRank 1
Beiträge: 24
Registriert: 22.03.2009, 19:34

Beitrag von Boeser-Nachbar » 22.03.2009, 19:41

Einen schönen guten Abend wünsche ich allen.

Ich habe meine Seite, die ich noch auf Typo3 4.0 laufen hatte, mal "neugemacht". Ich setzte jetzt 4.2.6 mit RealUrl ein.

Leider hat Google aber u.a. die "alten" Seiten im Index, so dass ich im TYPO3 Install Tool unter [pageNotFound_handling] eine Weiterleitung REDIRECT:/bundesland.html definiert habe.

Nun zeigt mir Google Webmastertools aber noch 9 (alte) Seiten mit Umleitungsfehler an. Wenn ich diese anklicke, so wird korrekt zur bundesland.html Seite umgeleitet. Prüft man den Status Code so erhält man 302 "temporarily moved".

Da es die Seiten aber nie mehr geben wird würde ich gerne ein "RedirectPermanent" realisieren.

Dazu habe ich dann in der .htaccess Datei folgendes definiert
RedirectPermanent /index.php?id=115 https://www.nachbarrechtsgesetze.de/links.html

Gibt man nun aber: https://www.nachbarrechtsgesetze.de/index.php?id=115 ein, so wird man auf die bundesland.html Seite weitergeleitet. Also auf die Seite die ich per pageNotFound_handling definiert habe. Das liegt wohl am Status 302 was ich durch das Redirect erhalte.

Wie kann ich es einrichten das die "RedirectPermanent"-Regel aus der .htaccess Datei angewendet wird ?

Ich hoffe mal hier gibt es auch TYPO3 Anwendern !! ??

Danke

Anzeige von ABAKUS

von Anzeige von ABAKUS »


Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 23.03.2009, 09:55

Boeser-Nachbar hat geschrieben:Dazu habe ich dann in der .htaccess Datei folgendes definiert
RedirectPermanent /index.php?id=115 https://www.nachbarrechtsgesetze.de/links.html
Mit Redirect kannst du, wie die Anleitung schon sagt, nur den URL-Pfad ansprechen. Der Pfad ist der Teil einer URL zwischen dem ersten Schrägstrich (einschließlich) und dem ersten Frage- oder Nummernzeichen (ausschließlich). Die Parameter, die mit dem Fragezeichen eingeleitet werden, gehören also nicht dazu.

Benutze stattdessen mod_rewrite:

RewriteCond %{THE_REQUEST} " /index\.php\?id=115 "
RewriteRule ^index\.php$ https://www.nachbarrechtsgesetze.de/links.html [R=301,L]

mod_rewrite könnte zwar mit %{QUERY_STRING} auch die Parameter alleine vergleichen, das könnte aber mit dem Typo-Krams kollidieren; ich kenne mich mit Typo nicht weiter aus.

Füge die beiden Zeilen als erste nach den RewriteEngine- und RewriteBase-Zeilen ein. Ich hoffe, sie funktionieren, hab's jetzt mal nicht ausprobiert.

Boeser-Nachbar
PostRank 1
PostRank 1
Beiträge: 24
Registriert: 22.03.2009, 19:34

Beitrag von Boeser-Nachbar » 23.03.2009, 10:57

funktioniert leider nicht (oder ich bin suboptimal talentiert). Also meine htacess sieht wie folgt aus:

Code: Alles auswählen

RewriteEngine On
RewriteRule ^typo3$ - [L]
RewriteRule ^typo3/.*$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* /index.php

RewriteCond %{THE_REQUEST} " /index\.php\?id=115 " 
RewriteRule ^index\.php$ http://www.nachbarrechtsgesetze.de/links.html [R=301,L] 
Die Überprüfung des Header Codes ergibt:

Code: Alles auswählen

URL=http://www.nachbarrechtsgesetze.de/index.php?id=115
Result code: 302 (Found / Moved Temporarily)
New location: http://www.nachbarrechtsgesetze.de/bundesland.html

URL=http://www.nachbarrechtsgesetze.de/bundesland.html
Result code: 200 (OK / OK)
Ich denke mal es liegt am "pageNotFound_handling" von Typo3.

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 23.03.2009, 11:58

Boeser-Nachbar hat geschrieben:funktioniert leider nicht (oder ich bin suboptimal talentiert).
Ich schrieb doch: „Füge die beiden Zeilen als erste nach den RewriteEngine- und RewriteBase-Zeilen ein.“ Du hast sie ans Ende der Datei angehängt, probiere es nochmal direkt nach der RewriteEngine-Zeile.

Die Zeilen habe ich jetzt ausprobiert, sie funktionieren soweit. Ein kleiner Schnitzer ist allerdings doch noch in meinem Vorschlag, ans Ende der Ziel-URL muss ein Fragezeichen, weil sonst die Parameter der Original-URL mit übernommen werden - und die sollen ja weg.

RewriteCond %{THE_REQUEST} " /index\.php\?id=115 "
RewriteRule ^index\.php$ http://www.nachbarrechtsgesetze.de/links.html? [R=301,L]

Boeser-Nachbar
PostRank 1
PostRank 1
Beiträge: 24
Registriert: 22.03.2009, 19:34

Beitrag von Boeser-Nachbar » 23.03.2009, 13:13

Also ich habe es nun hier eingefügt:

Code: Alles auswählen

RewriteEngine On
RewriteCond %{THE_REQUEST} " /index\.php\?id=115 " 
RewriteRule ^index\.php$ http://www.nachbarrechtsgesetze.de/links.html? [R=301,L]

RewriteRule ^typo3$ - [L]
RewriteRule ^typo3/.*$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* /index.php
Funzt aber leider immer noch nicht (ich weiss eher untalentiert)

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 23.03.2009, 13:39

Boeser-Nachbar hat geschrieben:

Code: Alles auswählen

RewriteEngine On
RewriteCond %{THE_REQUEST} " /index\.php\?id=115 " 
RewriteRule ^index\.php$ http://www.nachbarrechtsgesetze.de/links.html? [R=301,L]
Funzt aber leider immer noch nicht (ich weiss eher untalentiert)
Putzig, kommt immer noch die Typo-Weiterleitung? Nimm doch mal alle anderen Rewrite- und Redirect-Zeilen aus der .htaccess, behalte nur die drei oben genannten. Greift diese Weiterleitung dann? Falls nicht, ändere das Muster ^index\.php$ in der RewriteRule-Zeile in index\.php (d.h. ^ und $ entfernen), falls auch das nicht will, in . (ein einzelner Punkt).

Boeser-Nachbar
PostRank 1
PostRank 1
Beiträge: 24
Registriert: 22.03.2009, 19:34

Beitrag von Boeser-Nachbar » 23.03.2009, 14:09

egal was ich versuche, immer:
Result code: 302 (Found / Moved Temporarily)

Scheint wohl definitv an dem pageNotFound_handling von Typo zu liegen. Ich frage mal im Typo3-Forum und berichte

:-(

Boeser-Nachbar
PostRank 1
PostRank 1
Beiträge: 24
Registriert: 22.03.2009, 19:34

Beitrag von Boeser-Nachbar » 23.03.2009, 14:34

liegt auch nicht am [pageNotFound_handling] - wenn ich das rausnehme dann erhalte ich einen 404 Error anstelle des 301 ... mal sehen wie die Lösung ist

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 23.03.2009, 15:54

Boeser-Nachbar hat geschrieben:egal was ich versuche, immer:
Result code: 302 (Found / Moved Temporarily)

Scheint wohl definitv an dem pageNotFound_handling von Typo zu liegen.
Unmöglich. Wenn du, wie ich vorgeschlagen hatte, um dem Fehler auf die Schliche zu kommen, die .htaccess bis auf besagte drei Zeilen gänzlich leerst, funktioniert Typo nicht mehr und damit kann auch die bei Typo eingestellte Weiterleitung nicht mehr funktionieren - es sei denn, du hast die falsche .htaccess zu fassen. Du machst also augenscheinlich irgendwas grundsätzliches falsch.

Boeser-Nachbar
PostRank 1
PostRank 1
Beiträge: 24
Registriert: 22.03.2009, 19:34

Beitrag von Boeser-Nachbar » 23.03.2009, 18:11

Richtig, wenn ich nur die 3 Zeilen reinschreibe, dann geht nur noch die Startseite von Typo. Habe ich im pageNotFound_handling das "REDIRECT:/bundesland.html" stehen, wird zu bundesland.html ungeleitet und ich bekomme einen 404 Fehler weil wir ja die URL bundesland.html nicht mehr haben.

Wenn ich das Redirect... weglasse bekomme ich eine Typofehlerseite angezeigt: The requested page does not exist!

URL=https://www.nachbarrechtsgesetze.de/index.php?id=115
Result code: 404 (NotFound / Not Found) ....

STOP: ES LAG an den beiden LEERZEICHEN hier

" /index\.php\?id=115 "

Die habe ich rausgeschmissen und schon funktionierte es ... so jetzt noch den "alten" Kram wieder rein ... ich berichte dann wenn ich fertig bin !

Boeser-Nachbar
PostRank 1
PostRank 1
Beiträge: 24
Registriert: 22.03.2009, 19:34

Beitrag von Boeser-Nachbar » 23.03.2009, 18:27

OK es funzt nun ALLES. Sowohl die Rewrite Regel als auch das page not found Handling.

DANKE DIR !!!!!

Eine Frage noch: Ich habe ja 9 Seiten die umgeleitet werden sollen.
Kopiere ich den Code

Code: Alles auswählen

RewriteCond %{THE_REQUEST} "/index\.php\?id=115"
RewriteRule ^index\.php$ http://www.nachbarrechtsgesetze.de/links.html? [R=301,L]
dann am besten 9 mal hintereinander und passe die Zeile und die ids entsprechend an ? scheint mir die einfachste Art zu sein, oder ?

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 24.03.2009, 10:21

Boeser-Nachbar hat geschrieben:STOP: ES LAG an den beiden LEERZEICHEN hier

" /index\.php\?id=115 "

Die habe ich rausgeschmissen und schon funktionierte es
Nanu? Dass aus irgendeinem Grund die Muster nicht passen, hatte ich schon im Verdacht, aber dass es an den Leerzeichen liegt … Könntest du mir einen Gefallen tun und Folgendes probieren:

RewriteCond %{THE_REQUEST} /index\.php\?id=115
RewriteRule ^index\.php$ https://www.nachbarrechtsgesetze.de/lin ... HE_REQUEST} [R=301,L]

Was genau wird an die URL angehängt?
Mich irritiert, dass das Muster mit den beiden Leerzeichen vor und nach der URL nicht auf den Text „GET /index.php?id=115 HTTP/1.1“ (der Inhalt von THE_REQUEST) passt, obwohl da doch zwei Leerzeichen sein müssen.

Sowie:

RewriteCond %{THE_REQUEST} \s/index\.php\?id=115\s
RewriteRule ^index\.php$ https://www.nachbarrechtsgesetze.de/links.html? [R=301,L]

Funktioniert die Weiterleitung so?
Kopiere ich den Code dann am besten 9 mal hintereinander und passe die Zeile und die ids entsprechend an ? scheint mir die einfachste Art zu sein, oder?
Entweder du machst das oder du setzt ein eigenes Skript auf, das sämtliche ?id=-URLs abfängt. In etwa so:

/.htaccess

Code: Alles auswählen

RewriteCond %{THE_REQUEST} "/index\.php\?id="
RewriteRule ^index\.php$ alteurls.php [L]
/alteurls.php:

Code: Alles auswählen

<?php
$urls = Array&#40;
"/index.php?id=115" => "http&#58;//and.ere/url1",
"/index.php?id=116" => "http&#58;//and.ere/url2"
&#41;;

if &#40;isset&#40;$urls&#91;$_SERVER&#91;"REQUEST_URI"&#93;&#93;&#41;&#41; &#123;
    header&#40;"301 Moved"&#41;;
    header&#40;"Location&#58; " . $urls&#91;$_SERVER&#91;"REQUEST_URI"&#93;&#93;&#41;;
    exit;
&#125;
else &#123;
    header&#40;"404 Not found"&#41;;
    echo "<html><body>Nix gefunden. Scheiß auch.</body></html>";
    exit;
&#125;
?>
Ich täte zum Skript tendieren, aber das ist bei dem Umfang sicher noch Geschmackssache.

Boeser-Nachbar
PostRank 1
PostRank 1
Beiträge: 24
Registriert: 22.03.2009, 19:34

Beitrag von Boeser-Nachbar » 24.03.2009, 11:30

Also wenn ich folgendes reinschreibe:

Code: Alles auswählen

RewriteCond %&#123;THE_REQUEST&#125; /index\.php\?id=115 
RewriteRule ^index\.php$ http&#58;//www.nachbarrechtsgesetze.de/links.html?%&#123;THE_REQUEST&#125; &#91;R=301,L&#93; 
Funktioniert die Umleitung, ich erhalte als URL dann

Code: Alles auswählen

http&#58;//www.nachbarrechtsgesetze.de/links.html?GET%20/index.php%3fid=115%20HTTP/1.1
Wenn ich den Code hier reinkopiere:

Code: Alles auswählen

RewriteCond %&#123;THE_REQUEST&#125; \s/index\.php\?id=115\s 
RewriteRule ^index\.php$ http&#58;//www.nachbarrechtsgesetze.de/links.html? &#91;R=301,L&#93; 
Funktioniert die Weiterleitung leider nicht !

Das Skript sieht sehr interessant aus. Ich werde aber wohl wieder etwas untallentiert dafür sein ... obwohl, ich versuche es mal heute Abend in Ruhe.

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 24.03.2009, 14:12

Boeser-Nachbar hat geschrieben:ich erhalte als URL dann ?GET%20/index.php%3fid=115%20HTTP/1.1
Merkwürdig, da sind die beiden Leerzeichen (als %20 kodiert) wie erwartet drin. Warum's mit dem Leerzeichen-Muster nicht passt, ist mir jetzt etwas schleierhaft, aber sei's drum.

Klaro
PostRank 3
PostRank 3
Beiträge: 81
Registriert: 15.04.2007, 09:21
Wohnort: Niedersachsen

Beitrag von Klaro » 29.03.2009, 10:36

Versuch mal folgendes für die Umleitung, dann sollte es funktionieren:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^id=115
RewriteRule ^(.*)$ https://www.nachbarrechtsgesetze.de/links.html? [R=301,L]

Bei mir funktioniert es so für einzelne Seiten, je Seite die Du umleiten möchtest musst Du den Code entsprechend anpassen.

Gruß
klaro

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag