Der Parameter wird von mod_rewrite eingefügt. Zum Beispiel http://example.com/produkte/x653 wird umgesetzt in products.php?nr=x653. Daher die Idee, den selben Fehler zu bringen wie bei http://example.com/proooodukte
Zwei Fragen, die Du Dir stellen musst:
- Wer oder was gibt denn bislang die Fehlerseite aus, bei http://example.com/gibtsnicht. Und 2) woraus besteht der Fehler (Statuscode und Inhalt der Fehlerseite).
Ich nehme an, zu 1) das machst Du gar nicht selbst, sondern macht der Server (zum Beispiel über "Standarddokumente" (Win Server) oder ähnliches von Apache, etc.). Ich nehme an zu 2) ein 404 Code wird gesendet (kannst Du einfach mit Firebug ermitteln) und Du hast irgendwo eine html Datei geschrieben, die dann angezeigt wird?!?! Nur Vermutungen, es gibt zig andere Wege, das zu tun.
Wenn dem ungefähr so ist:
Zwei Dinge sind zu tun, wenn Du die Fehlerseite auch bei einer falschen Produktnr. anzeigen möchtest:
- musst Du irgendwie verhindern, dass bis zu der Prüfung der Produktnummer in der DB _irgendein_ Header gesendet wird, da doppelte Header senden nicht möglich ist. Wenn dein Backend, CMS, Script, whatever bis dahin bereits einen 200 Header gesendet hat, musst Du das irgendwie umbauen.
- musst Du dann bei einer nicht vorhandenen Produktnr z.b einen 404 Header senden (mit php: header("HTTP/1.0 404 Not Found");) und der Inhalt der Fehlerseite angezeigt werden (z.B mit echo file_get_contents()). Natürlich gibt es noch andere Wege (Seitentemplate wird nur mit Fehlermeldung gefüttert, etc.).
Cheers,
Baba