it-swarm.com.de

.htaccess, wie man mehrere Seiten auf eine umleitet?

Ich bewege Hosts und die URL-Struktur ändert sich, wenn die neue Site (derselbe Domain-Name) in Wordpress erstellt wird.

Ich habe viele URLs, bei denen der erste Teil des Seitennamens gleich ist und alle auf eine einzelne Seite der neuen Site umgeleitet werden müssen. Zum Beispiel.

  • http://www.example.com/binfet-timeinthepark.htm
  • http://www.example.com/binfet-backtothecity.htm
  • http://www.example.com/binfet-justmeetmehalfway.htm

alle müssen gehen zu:

http://www.example.com/bev-binfet/

Gibt es eine Möglichkeit, eine Regel zu schreiben, um all diese zu erfassen? Es gibt ungefähr 50 verschiedene Fälle, dh. In diesem Beispiel steht "binfet" am Anfang, aber es gibt ungefähr 50 verschiedene Namen.

AKTUALISIEREN

Als Antwort auf @Fayaz

Ich habe ungefähr 50 Fälle, in denen die URLs mit demselben Namen beginnen, dann aber unterschiedliche Endungen haben. Für jeden Fall gehen alle URLs für diesen Fall auf eine einzelne neue Seite.

Z.B.

http://www.example.com/xyz-sometext.htm http://www.example.com/xyz-someothertext.htm ... alle gehen zu einer einzelnen neuen URL

http://www.example.com/xyznewplace/

2
user2250892

Lösung:

Ich schlage vor, Sie verwenden die vollständige URL in RewriteRule.

Für alle URLs, die mit binfet beginnen, um zu /bev-binfet/ zu gelangen, müssen Sie die folgende Anweisung in Ihre .htaccess -Datei einfügen (vor anderen Rewrite-Regeln):

RewriteRule ^binfet http://www.example.com/bev-binfet/ [R=301,L]

Grund:

Höchstwahrscheinlich haben Sie andere Regeln, die non-www Links zu www Links umleiten. In diesem Fall werden durch die Verwendung der vollständigen URL zusätzliche Weiterleitungen vermieden. Zum Beispiel versucht jemand, auf Folgendes zuzugreifen:

http://example.com/binfet-timeinthepark.htm

Ohne die vollständige URL in RewriteRule wird zunächst weitergeleitet an:

http://example.com/bev-binfet/

und dann endlich:

http://www.example.com/bev-binfet/

Mit der hier genannten Lösung vermeiden Sie die erste Weiterleitung und gehen direkt zu:

http://www.example.com/bev-binfet/

Weitere Anfrage:

Aus irgendeinem Grund habe ich das Gefühl, dass Ihre Frage mehr enthält. Du sagtest:

Es gibt ungefähr 50 verschiedene Fälle, dh. In diesem Beispiel steht "binfet" am Anfang, aber es gibt ungefähr 50 verschiedene Namen.

A. Meinten Sie, es gibt 50 URLs, deren URL mit einer bestimmten Phrase beginnt (zum Beispiel binfet)?

oder

B. Meinten Sie, es gibt 50 solche Startphrasen (wie eine Gruppe von URLs, die mit binfet beginnen, eine andere Gruppe von URLs, die mit xyz usw. beginnen) und jede Gruppe endet in einer einzigartigen URL?

Wenn A der Fall ist, dann ist die hier angegebene Lösung ausreichend. Wenn jedoch B der Fall ist, müssen Sie diese Regel entweder 50 Mal für jede Startphrase schreiben, oder Sie müssen ein besseres Muster finden, das alle abdeckt.

Bitte aktualisieren Sie Ihre Frage mit weiteren Details, wenn B der Fall ist.

1
Fayaz

In diesem Beispiel steht "binfet" am Anfang, aber es gibt ungefähr 50 verschiedene Namen.

Um alle URLs umzuleiten, die binfet starten, versuchen Sie es mit der folgenden mod_rewrite-Direktive vor Ihren vorhandenen WP Direktiven in Ihrer .htaccess Datei:

RewriteRule ^binfet /bev-binfet/ [R=301,L]
0
MrWhite