Wenn ein Querystring an einer URL dran klebt, ist die Request-Methode offensichtlich. So schlau ist der Apache....
Eben, wenn an der URL Parameter dranhängen, ist es ein GET-Request. Mit dem 405 sagst Du dem Aufrufenden, daß die Methode GET nicht erlaubt ist, und welche ist es dann?
Ein schönes Beispiel, wie der 405 richtig verwendet, ist z.B. die xmlrpc.php in Wordpress. Die gibt den 405 aus, wenn sie einfach so in der Browserzeile (mit GET) aufgerufen, mit dem Hinweis, daß nur POST-Requests erlaubt sind.
Für das konkrete Problem ist der 404 vollkommen ausreichend und passender, würde ich sagen.
... Zudem nicht gelesen und somit auch nicht verstanden: Request_URI ...
Danke für den Hinweis, das Modul kenne ich und verwende es auch.
... Keine vernünftige Lösung ist es, für jeden Mist in WordPress ein Plugin zu installieren. Da wünsche ich auch viel Spaß! :D
Wenn es sowieso nur Mist ist, kann man es ja ganz weglassen.
Aber ich gebe Dir recht, so eine einfache Parameter-Prüfung gehört nicht in ein Plugin, sondern eigentlich in den WP-Core.
Gruß
Ingo