Seite 1 von 1

301 Weiterleitung mit Platzhalter

Verfasst: 25.12.2019, 17:46
von omp-blog
Hallo,

die URL Struktur für Tags wird sich in meinem Blog ändern. Ein Ordnername wird sich von /tag/ zu /reiseberichte/ ändern. Wie richte ich hier die korrekte 301 weiterleitung ein?

Ich habe dazu dutzende verschiedene Redirect Regeln gefunden, wie etwa:

RewriteRule ^/tag/(.*) http://localhost/reiseberichte/ [R=301,L]
RewriteRule ^tag/(.*) http://localhost/reiseberichte/$1 [L,R=301]
RewriteRule ^tag/(.*)$ /reiseberichte/$1 [R=301,L]
RewriteRule /tag/?(.*)$ http://localhost/reiseberichte/$1 [R=301,L]
RewriteRule ^tag/(.*)$ /reiseberichte/$1 [R=301,NC,L]
RedirectMatch 301 /tag/(.*) http://localhost/reiseberichte/$1
RedirectMatch 301 ^/tag/* http://localhost/reiseberichte/*

Allerings funktionieren die bei mir auf localhost alle gerade alle nicht. Wenn dann wird nur auf http://localhost/reiseberichte/ allgemein weitergeleitet, ohne den letzten Teil der URL.

Wo liegt der Unterschied und welche ist jetzt richtig?

Danke für Eure Hilfe & frohe Weihnachten :)

Verfasst:
von

Re: 301 Weiterleitung mit Platzhalter

Verfasst: 27.12.2019, 19:01
von arnego2
omp-blog hat geschrieben: 25.12.2019, 17:46

Wo liegt der Unterschied und welche ist jetzt richtig?

Danke für Eure Hilfe & frohe Weihnachten :)
Frohe Weihnachten zurück.
An deiner Stelle würde ich es auf einem Server machen und nicht localhost.

Re: 301 Weiterleitung mit Platzhalter

Verfasst: 28.12.2019, 16:03
von omp-blog
Ich entwickle die Seite aber gerade auf Localhost neu, daher würde ich es halt gerne vorher mal testen.
Zudem weiß ich jetzt leider immer noch nicht, was die Richtige Funktion ist :)

Re: 301 Weiterleitung mit Platzhalter

Verfasst: 28.12.2019, 16:47
von arnego2
Das ist mir schon klar, nur sind die Server nicht alle gleich eingestellt.

Re: 301 Weiterleitung mit Platzhalter

Verfasst: 31.12.2019, 08:17
von supervisior
omp-blog hat geschrieben: 25.12.2019, 17:46 Allerings funktionieren die bei mir auf localhost alle gerade alle nicht. Wenn dann wird nur auf http://localhost/reiseberichte/ allgemein weitergeleitet, ohne den letzten Teil der URL.

Wo liegt der Unterschied und welche ist jetzt richtig?
Die Antwort auf Deine Frage sollte Dir eigentlich selbst einleuchten. Damit diese Weiterleitungen auf Deinem localhost funktionieren, brauchst Du mod_rewrite. Das ist das Apache Modul, das u.a. für die sog. "Suchmaschinenfreundlichen URLs" zuständig ist. Wenn Du keinen vollwertigen Apache Server auf Deinem lokalen Rechner hast und außerdem mod_rewrite nicht geladen ist, kann das auch nicht funktionieren, weil Deine Weiterleitungs-URLs umgeschriebene, also SUMA URLs sind. Du musst es also auf Deinem Server im Internet ausprobieren. Solange Du das nicht machst, kann Dir niemand eine gesicherte Auskunft geben, ob Deine Umleitungen richtig sind.

Verfasst:
von

Re: 301 Weiterleitung mit Platzhalter

Verfasst: 31.12.2019, 09:23
von staticweb
> Ich entwickle die Seite aber gerade auf Localhost neu, daher würde ich es halt gerne vorher mal testen.

Dann achte darauf, dass dort alles so funktioniert wie auf deinem Server.

> Zudem weiß ich jetzt leider immer noch nicht, was die Richtige Funktion ist :)

Lies dich mal ein und suche dir einen online htaccess Tester. Das ist eine 0815 Weiterleitung, die 100-e Mal im Inet angefragt und beantwortet wird.

Re: 301 Weiterleitung mit Platzhalter

Verfasst: 02.01.2020, 12:18
von /Affilitiv/
Hallo Reisender

hab eben auf meinem "StringTool" (du kennst diesen String Emil?)(der macht nun auch ApfelmusSEO)

eine Ausgabe für meine UMschreibung eingebaut
Ergebniss (also, nach dem Post erscheint die Anzeige)
(www.)schuhsens.de/Internet/HomePage/CronJOB/Andy-STRiNG.html
wird zu
Internet/HomePage/CronJOB/Andy-STRiNG

PHPcode $content.='<hr>'.$_GET['file'];
und die htaccess

Code: Alles auswählen

RewriteRule (.*)/$              /cms.php?folder=$1
RewriteRule (.*)\.html$         /cms.php?file=$1
Unterschied zu dir .... ich habe keine Tilde vorne (dieses ^)
und umgeschrieben wird ohne den Slasch am Anfang (also der erste Slasch gehört quasie zur Domain nicht zur UHRL)

hm

Code: Alles auswählen

RewriteRule Internet(.*)\.html$         /cms.php?file=$1&suf=INTERnet
RewriteRule (.*)\.html$         /cms.php?file=$1&suf=ANHANG
[/code]
nun zeigt mein PHPcode
/cms800.php/HomePage/CronJOB/Andy-STRiNGANHANG


Du sollstes einfach mal in deinen PHPcode einen Echo einbauen
echo ... ähm, oder

Code: Alles auswählen

RewriteRule Internet(.*)\.html$         iMET$1.php8 [L,R=301]
wird (so sein HTTPreader) zu .. ganz komisch
Location: :::htete3w:::schuhsens.de/kunden/homepages/4/d6...../htdocs/iMET/HomePage/CronJOB/Andy-STRiNG.php8
das kann schonmal nicht gehen

und nun (aus dem HTTPreader) eine URL die funktiniert(also richtig aussieht) die Rewrite dazu

Code: Alles auswählen

 RewriteRule Internet(.*)\.html$         /iMET$1.php8 [L,R=301]    
oder

Code: Alles auswählen

 RewriteRule ^Internet/(.*)\.html$         /iMET$1.php8 [L,R=301]    
und jetzt noch einen Test für dich (oder datei hinten abfangen)

Code: Alles auswählen

 RewriteRule ^Internet/(.*)$         /reisebericht/$1 [L,R=301]    
aus schuhsens.de/Internet/HomePage/CronJOB/Andy-STRiNG.html
wird schuhsens.de/reisebericht/HomePage/CronJOB/Andy-STRiNG.html

also für dich

Code: Alles auswählen

 RewriteRule ^tag/(.*)$         /reisebericht/$1 [L,R=301]    
achtung ... ich habe hier bei testen festegestellt das die ErgebnissGeschichte änderungen von 2 umschreibeungen haben kann (grübel) also, aufpassen das da keine andere umschreibung drin ist die da noch auswirkungen habne kann


Und eine Frage von mir an die Anderen
[L,R=301] ist eine "echte Weiterleitung" also, da wird die URL geändert
ohne das gilt die "Unleitung" nur intern (also, z.B. nicht für Google da ja kein Redirekt nach ausen)
Frage
1. was ist das "L"?
2. wird die htaccess weiter abgearbeitet wenn so eni 301er matcht? oder wird dann sofort der 301er gemacht (den bei der internen stellte ich ja eben fest das da mmehrere das Ziel verändern können)
supervisior hat geschrieben: 31.12.2019, 08:17
omp-blog hat geschrieben: 25.12.2019, 17:46 Allerings funktionieren die bei mir auf localhost alle gerade alle nicht.

Wenn dann wird nur
Die Antwort auf Deine Frage sollte Dir eigentlich selbst einleuchten.

Damit diese Weiterleitungen auf Deinem localhost funktionieren, brauchst Du mod_rewrite. Das ist das Apache Modul, das u.a. für die sog. "Suchmaschinenfreundlichen URLs" zuständig ist. Wenn Du keinen vollwertigen Apache Server auf Deinem lokalen Rechner hast und außerdem mod_rewrite nicht geladen ist, kann das auch nicht funktionieren, weil
erst sagt Er "geht alles nicht"
dann sagt Er "wenn dann .... nur allgemein der Ordner ohne Datei
supervisior hat geschrieben: 31.12.2019, 08:17 mod_rewrite nicht geladen ist, kann das auch nicht funktionieren, weil
weil .... da ja wohl (also der Ordner) funktioniert, muß doch wohl modREwrite geladen sein?
staticweb hat geschrieben: 31.12.2019, 09:23 suche dir einen online htaccess Tester.
ein htaccess Tester? du meinst einen httpHeader Anzeiger?
https://www.andyhoppe.com/software/http ... header.htm
oder auf http://chegu.de/ATrequest.html