Apache "301 Redirect" in Htaccess beim Substring-Matching

357
Ben Yanke

Ich bin gerade dabei, den Übergang eines älteren CMS zu einem neueren CMS zu unterstützen. Als Teil davon müssen wir viele Weiterleitungen einrichten.

Wir haben uns entschieden, diese in die .htaccess-Datei zu laden, damit sie von Nicht-Admins leicht versioniert und geändert werden können.

Die Datei sieht folgendermaßen aus:

Redirect 301 /product-123.aspx /product-123.html Redirect 301 /product-456.aspx /product-456.html 

Ich bin jedoch auf ein scheinbar undokumentiertes und unerwartetes Verhalten gestoßen - die Umleitung 301 stimmt mit den Teilzeichenfolgen überein. Zum Beispiel, diese Regel gegeben:

Redirect 301 /page /page.html

Es schreibt / page -> page.html wie erwartet um, schreibt aber auch / page / 2 -> /page.html/2 und / page / contact -> /page.html/contact, was viele unerwartete Randfälle verursacht hat.

Gibt es eine Problemumgehung oder eine Möglichkeit, dieses Verhalten zu deaktivieren? Wenn dieses Verhalten nicht deaktiviert werden kann, ist dies die beste alternative Methode.

0

0 Antworten auf die Frage