Nun, da steht doch im Prinzip schon, was der Fehler ist. Du leitest /foo/bar/ weiter auf /index?action=foo/bar - und das dann, wenn der aufgerufen Pfad != index.php ist.
Da frage ich dich ist:
index.php == index.php?action=foo/bar ??
Ja, gute frage. ich habe natürlich keinen schimmer davon, aber eine anwort habe ich leider noch immer nicht.
Aber mal noch abgesehen davon, dass sieht mir so aus, als würde index.php die anderen Dateien includen? Du hast doch hoffentlich einen Schutz eingebaut, dann /index.php?action=.htaccess oder /index.php?action=/etc/passwd und ähnliches zu keinen Ergebnis führen?
Nein, habe ich natürlich nicht, weil ich zum einen nicht weiß, wie ich diesen schutz einbaue, bzw. verzeichnisse ausschließe, aber andererseits auch gar nichts include.
mfg