Situation: Viele Seiten auf einer Website wurden "um eine Ebene höher" verschoben, z..htaccess Regex Weiterleitungen - wie ein Schlüsselwort zu entfernen?
www.example.com/all-widgets/red-widgets/widget001
ist jetzt www.example.com/red-widgets/widget001
Problem: viele veraltete Links, die heute nicht mehr existierenden/all-Widgets/Kategorie gehören.
Wie lautet die Regex-Syntax Entfernen Sie ein Keyword von einer URL?
Mit anderen Worten: „Wenn eine eingehende URL enthält dieses Schlüsselwort, entfernt nur dieses Schlüsselwort, aber den Rest der URL intakt lassen“.
Follow-up: es Situationen geben kann, in denen das Schlüsselwort ein exakt sein muss, 1-Zeit Spiel, weil es an anderer Stelle in der URL auftreten könnten.
Mit anderen Worten, es ist eine Möglichkeit, dass eine eingehende URL wie diese existieren könnte:
www.example.com/all-widgets/red-widgets/widget074-compatible-with-all-widgets
ich nur die 1. Auftreten von „all-Widgets“ (zur Fixierung der Kategorie entfernen müssen -Migrationsproblem), lassen Sie den Rest jedoch intakt (damit wird die tatsächliche Produkt-/Blogpost-URL nicht durchbrochen).
Antrag auf Klarstellung: so lautet die Syntax 'RewriteRule^(alle-Widgets \ /) (. +) $ $ 2' wird neu schreiben' www.example.com/all-widgets/red -widgets/widget001' zu 'www.example.com/red-widgets/widget001'? Oder muss ich noch etwas hinzufügen? – TomJones999
Ich aktualisierte meine Antwort ein wenig. Bitte prüfe. Ja, es wird Ihre URL wie bereits erwähnt überschreiben. Wenn es auf Ihrem Webserver einen neuen Pfad gibt, sollten Sie nichts hinzufügen. Es wird jedoch nicht auf die neue URL umgeleitet, sodass Ihre Nutzer weiterhin die alte URL sehen. –
Es funktioniert nicht in Fällen, in denen die URL nicht mit "all-widgets" beginnt. – anubhava