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
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">