Für einen Browser und für eine Suchmaschine sind /about und /about/ zwei Adressen. Antworten beide mit 200, haben Sie zwei Kopien jeder Seite. Die Abhilfe: eine Form wählen und die andere dorthin weiterleiten - und dabei schiefgehen tut es als Schleife.

Eine wählen

# nginx: no trailing slash
rewrite ^/(.*)/$ /$1 permanent;

# nginx: with a trailing slash
rewrite ^([^.]*[^/])$ $1/ permanent;

Das zweite Muster schließt absichtlich alles mit einem Punkt aus, damit Dateien - /logo.png, /robots.txt - nicht nach /logo.png/ geschickt werden.

Die Schleife

Zwei Regeln, die einander widersprechen - eine fügt den Schrägstrich an, eine entfernt ihn -, ergeben eine endlose Weiterleitung. Meist passiert das, wenn der Webserver die eine Regel hat und das Anwendungsframework die entgegengesetzte. Reparieren Sie es an EINER Stelle, und diese Stelle sollte die Anwendung sein, wenn sie eine Meinung hat.
curl -sSIL https://example.com/about | grep -E '^HTTP|^location' | head -10

Mehr als eine Weiterleitung in dieser Ausgabe, oder dieselben zwei Adressen im Wechsel, ist die Schleife. Siehe Weiterleitungsschleifen.

Verzeichnisse sind die Ausnahme

Ein echtes Verzeichnis braucht den abschließenden Schrägstrich: ohne ihn lösen relative Links in der Seite eine Ebene zu hoch auf, sodass CSS und Bilder kaputtgehen, während das HTML lädt. Webserver leiten aus gutem Grund weiter, um ihn anzufügen.

Sagen, welche kanonisch ist

<link rel="canonical" href="https://example.com/about">
Was immer Sie wählen: Sitemap, Canonical-Tag und interne Links müssen dazu passen. Eine Website, die intern auf die Form verlinkt, von der sie anschließend wegleitet, bezahlt bei jedem Klick einen Hin- und Rückweg.