it-swarm.com.de

301 Weiterleitungsverhalten in einem drupal System

Ich migriere eine ältere Site auf eine neuere Site, die Drupal verwendet. Als Teil davon versuche ich, 301 Weiterleitungen auf die neuen Seiten einzurichten, aber es tritt ein unerwartetes Verhalten auf. Ich habe meiner .htaccess-Datei die folgende Zeile hinzugefügt:

redirect 301 /redirect.html http://www.example.com/newpage

Was leider passiert ist, dass ich mitgenommen werde:

http://www.example.com/newpage?q=redirect.html

Was natürlich nicht richtig lädt. Irgendwelche Gedanken?

3
Joe Corkery

Nach einigem Suchen fand ich die Antwort hier . Es ähnelt dem von danlefree, unterscheidet sich jedoch geringfügig.

<IFModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /

    # custom redirects

    RewriteRule ^redirect\.html$ http://www.mysite.com/newpage [R=301,L]

    # end custom redirects

    ...
</IFModule>

Dies scheint den Job zu erledigen.

3
Joe Corkery

Vergessen Sie .htaccess. Verwenden Sie die globale Umleitung . Es gibt Ihnen Folgendes:

  1. Überprüft die aktuelle URL auf einen Alias ​​und leitet sie um, wenn sie nicht verwendet wird.
  2. Überprüft die aktuelle URL auf einen abschließenden Schrägstrich, entfernt sie, falls vorhanden, und wiederholt die Prüfung 1 mit der neuen Anforderung.
  3. Überprüft den Zugriff auf die URL. Wenn der Benutzer keinen Zugriff auf den Pfad hat, werden keine Umleitungen durchgeführt. Dies hilft zu vermeiden, dass private Alias-Knoten verfügbar gemacht werden.

Dies vereinfacht die Migration Ihrer Website geringfügig und macht es wahrscheinlich am wichtigsten, genau nachzuschlagen, was wo umgeleitet wird. (da es eine Benutzeroberfläche dafür gibt)

Bonus ( Stellen Sie sich vor, Sie tauchen hier auf )

Sie scheinen etwas Ähnliches wie saubere URLs zu erstellen. Ich denke, Sie könnten interessiert sein an pathauto .

2
cgp

Ihre anderen Umschreiberegeln stören.

Versuchen Sie stattdessen Folgendes:

RewriteEngine on

RewriteRule ^/redirect\.html$ http://www.mysite.com/newpage [L,R=301]

# ... existing rewrites
0
danlefree

Zu diesem Zweck verwendeten wir Pfadumleitungsmodul . Es kann nicht alle mächtigen Dinge handhaben, die Mod_rewrite kann, aber es ist eine wirklich gute Arbeit für uns, alte URLs zu erhalten.

0
acrosman