Ist die WordPress-API aus der in htaccess aufgerufenen PHP-Datei sichtbar?

Ich versuche, einige rewriterules in der .htaccess-Datei hinzuzufügen, um mit Hotlink-Bildern umzugehen – insbesondere möchte ich die URL aus dem Post, wo das Bild erschien, zu den Header-Ortsinformationen der heißverbundenen Bildanforderung hinzufügen.

Ich habe htaccess & PHP-Code, um die Header-Informationen hinzuzufügen, aber um es funktionieren zu lassen, muss ich in der Lage sein, irgendwie die URL für den Beitrag von der Bild-URL nachzuschlagen (dieser Blog hat einen einzigartigen Beitrag für jeden Bild). Ich habe Arbeitscode, um dies zu tun, aber es verwendet die WordPress-API, und wenn ich versuche, es aufzurufen, wird keine der functionen erkannt.

Ich denke, dass es vielleicht nicht möglich ist, die API von htaccess aus aufzurufen … als wäre sie außerhalb des Gültigkeitsbereichs, oder ich rufe von einem Ort aus an, an dem WordPress oder so etwas nicht zu sehen ist? Ich frage mich, ob es eine Möglichkeit gibt, WordPress-API-Aufrufe über htaccess zugänglich zu machen – oder ob jemand Vorschläge für eine Problemumgehung hat.

Das einzige, was mir einfällt, wäre zu versuchen, die database direkt über MySQL abzufragen, aber ich bin ein bisschen nervös, das zu tun, und ich bin mir nicht ganz sicher, ob ich die Datenstruktur vollständig verstehe.

Irgendwelche Vorschläge wären willkommen!

Solutions Collecting From Web of "Ist die WordPress-API aus der in htaccess aufgerufenen PHP-Datei sichtbar?"

Der .htaccess wird vor dem Laden von WordPress geparst, so dass Sie keinen Zugriff auf WordPress-Daten erhalten.

Sie können die Umleitung in WordPress in einem Plugin 404_template : Hook in 404_template und inspizieren $_SERVER['REQUEST_URI'] mit parse_url() . Sie sollten dann den passenden Beitrag für das Bild finden können.
Sie haben nicht geschrieben, wie die Permalinks für diese Beiträge erstellt werden, daher können wir keine spezifischere Lösung anbieten.

Um auf Ihre WordPress-functionen in einer eigenständigen PHP-Datei zuzugreifen, fügen Sie die folgenden zwei Zeilen am Anfang Ihrer PHP-Datei hinzu:

 define( 'WP_USE_THEMES', false ); require('wp-blog-header.php'); # or modify to match your current wp-blog-header.php file