ChrisB: Schönere Adresse (URL)

Beitrag lesen

Hi,

example.com/index.php?foo=bar soll nach example.com/foo/bar umgeleitet werden - oder sehe ich das falsch?

In dem Fall, dass das eine existierende Ressource darstellt, ja.

Wenn aber weder example.com/index.php?foo=bar noch example.com/foo/bar gültige Ressourcen sind, gibts 404 oder 410.

Ja. Das hat dann das Script zu entscheiden, dass zum Wert bar für den Parameter foo keine Daten findet.

Request: example.com/index.php?foo=bar
Response: 301 example.com/foo/bar
Request: example.com/foo/bar
Response: 404 example.com/foo/bar

Wird das über ein zentrales Script gesteuert, könnte man das so machen:

Request: example.com/index.php?foo=bar
Response: 404 example.com/index.php?foo=bar

Das muss das Script doch sowieso machen.

Aber erst später nach dem Ping-Pong das nicht sein muss.

/foo/bar entspricht dem Muster, wird zu ?foo=bar umgeschrieben.

Dem Script, das damit aufgerufen wird, ist es erst mal egal, ob es mittels /foo/bar oder ?foo=bar aufgerufen wurde - es schaut erst mal nach, ob es zum Wert bar für Parameter foo Daten findet.
Wenn nein, 404 - egal unter welcher Adresse aufgerufen.

Wenn Daten gefunden - dann direkte Anzeige, wenn unter /foo/bar aufgerufen; Umleitung auf /foo/bar, wenn die „veraltete“ Adress-Version ?foo=bar verwendet wurde.

Das meinte ich mit der "Deluxe-Variante"

Aha, das klang für mich anders - insb. mit deinem vorherigen Pauschal-Vorschlag.

Woher willst du bei diesen Requests wissen, ob die Artikelnummer tatsächlich exstiert? Bei einem Shop mit 20 Artikel mag man das noch festlegen können bei 20.000 Artikeln muss man vorher schon in einer Datenbank nachschauen.

Natürlich schaut man das in der Datenbank nach. Ich habe nichts gegenteiliges behauptet.

MfG ChrisB

--
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?