
Wenn ich die URL durch Hinzufügen einer Abfragezeichenfolge umschreibe, enthält die URL im Browser die Abfragezeichenfolge nicht. Folgendes habe ich:
location / {
rewrite ^/$ /?page=test break;
}
Stattdessen wird mir die ursprüngliche URL im Browser angezeigt, wenn ich das Stammverzeichnis besuche. Ich kann sie in einen anderen Pfad umschreiben.
Antwort1
In der vorliegenden Form handelt es sich lediglich um eine Neufassung, die intern vom Webserver durchgeführt wird (und werden sollte), ohne dass der Benutzer davon Kenntnis erhält.
Sie können dies entweder vorübergehend oder dauerhaft für den Benutzer sichtbar machen, indem Sie Ihrer Umschreibezeile die Anweisungen redirect
oder hinzufügen (permanent
Nginx-Dokument zum Umschreiben).
Seien Sie vorsichtig mit der permanent
Variante (HTTP-Code 301), der Name ist ziemlich wörtlich zu nehmen und der Browser speichert ihn, sodass er sich im Nachhinein nur schwer ändern lässt – er sollte nur für die Migration auf ein neues System verwendet werden.
Durch die Verwendung redirect
wird der Browser gezwungen, die Site mit der neuen URL neu zu laden. Daher sollte auch diese Option mit Vorsicht verwendet werden, da sich dadurch die Ladezeiten Ihrer Seite erheblich verzögern.
Antwort2
Dieses Problem tritt auf, weilDas. Das Umschreiben mit einer Abfragezeichenfolge funktioniert.