Ich portiere einen IIS asapi Filter über Linux/Apache, und frage mich, was der beste Weg, um es zu nehmen. Auf IIS fängt dieser API-Filter die Anforderung ab, führt eine Datenbanksuche durch, um die Datei zu finden, die der Benutzer anfordert, und schreibt dann die URL neu, um diese Datei direkt zu liefern.Apache URL Neuschreiben ohne mod_rewrite
Was ist der beste Weg, dies auf Apache zu tun? mod_rewrite scheint keine Möglichkeit zu haben, Benutzercode einzugeben, um eine Datenbanksuche durchzuführen, so dass wir diese nicht verwenden können. Wir können die mod_isapi nicht verwenden, da unsere DLL ein Filter ist und das Modul dies nicht unterstützt.
Im Moment denke ich, dass der einfachste Weg ist, unser eigenes C-Modul zu schreiben, mit dem mod_rewrite-Code als Leitfaden. Ich würde das gerne vermeiden, wenn ich kann. Ich möchte auch keine HTTP-Weiterleitung für jede Anfrage über ein Perl/PHP/was auch immer Skript ausführen müssen, da die Leistung mit der Weiterleitung leiden wird.
Vorschläge? Können wir dafür Apache-Handler oder Filter verwenden?
Danke, ich werde das untersuchen. Weißt du, ob es Leistungseinbußen bei der Verwendung gibt? Kann die externe Anwendung irgendwie zwischengespeichert werden? Ich sehe, dass die Antworten zwischengespeichert werden können, aber ich bin mir nicht sicher, ob das unseren Bedürfnissen entspricht oder ob es uns helfen wird. – MonkeyWrench
Die externe App muss für ihr eigenes Caching verantwortlich sein. Dies kann und wird gut skaliert, vorausgesetzt, Ihre externe App kann mit eingehenden Anfragen Schritt halten. – Zeki
Interessant. Wird die externe Anwendung für jede Anforderung in den Speicher geladen? Wenn man bedenkt, dass wir eine Verbindung zu einer Datenbank herstellen, klingt es vielleicht am besten, sie irgendwie persistent zu haben. – MonkeyWrench