it-swarm.com.de

Nicht-WordPress-Seite im Unterverzeichnis unter der WordPress-Seite

Ich möchte eine Nicht-WordPress-Seite, auf die über ein übergeordnetes Verzeichnis zugegriffen werden kann, das eine WordPress-Seite ist.

Ich möchte zum Beispiel, dass http://example.com/city/ eine WordPress-Seite ist. Ich möchte jedoch eine Nicht-WordPress-Seite in den Ordner /city/pricing/ auf dem Server hochladen. Wenn ich das versuche, kann ich zu http://example.com/city/pricing/ gehen und es funktioniert, aber dann lädt WordPress http://example.com/city/ nicht, weil der Server das Verzeichnis /city/ sieht und nach einer Indexdatei sucht.

Ist es mir überhaupt möglich, /city/ als WordPress-Seite zu erstellen, aber /city/pricing/ als statische Nicht-WordPress-HTML-Seite? Wenn nicht, kann ich eine andere Lösung, aber ich wollte zuerst sehen, ob dies möglich ist.

4
mediocre_bro

Wie @MarkKaplun vorschlägt, ist es vorzuziehen, diese Nicht-WordPress-Datei in einem anderen Bereich des Dateisystems zu speichern und die URL in .htaccess neu zu schreiben. Anstatt die WordPress-URL in der physischen Verzeichnisstruktur nachzuahmen - was wahrscheinlich nur zu (mehr) Problemen führen wird (nicht zuletzt, dass Sie den WordPress-Front-Controller überschreiben müssten).

Anstatt Ihre Nicht-WordPress-Seite beispielsweise unter /city/pricing/index.php zu speichern, speichern Sie sie unter /non-wordress/city-pricing.php (zum Beispiel) oder /non-wordress/city/pricing/index.php (wenn es in der Entwicklung hilfreich ist, die Pfadstruktur zu kopieren). Dies hat jedoch keinen Einfluss auf die resultierende URL Die Verzeichnisstruktur ist für den Endbenutzer vollständig verborgen.

Dann können Sie in .htaccess vor dem Front-Controller von WordPress (dh vor dem Abschnitt # BEGIN WordPress) etwas tun wie:

RewriteRule ^city/pricing/$ /non-wordpress/city-pricing.php [L]

Dies schreibt intern /city/pricing/ in /non-wordpress/city-pricing.php - ist für den Endbenutzer völlig unsichtbar.

Aber Stress, dieses muss muss vor dem WordPress-Front-Controller liegen, sonst bekommst du einfach einen 404.

5
MrWhite

Sie können dies tun, indem Sie eine Regel zu htaccess hinzufügen, die die Seite für diese bestimmte URL lädt, und die Regel vor den WordPress-Regeln hinzufügen. Dabei spielt es keine Rolle, wo genau sich die Seite auf der Festplatte befindet, solange Sie die richtige Regel schreiben.

Aber für mich klingt es einfach falsch und es ist viel besser, die Seite in eine WordPress-Seitenvorlage umzuwandeln, indem Sie den entsprechenden Header hinzufügen und es einfach so hinzufügen, wie Sie jede andere WordPress-Seite "unter" Ihrer Hauptseite hinzufügen, und da werden Sie wahrscheinlich sehr Stellen Sie schnell fest, dass Sie in der Lage sein möchten, die Hooks wp_footer und wp_head zu verwenden. Mit größter Wahrscheinlichkeit beenden Sie dies in jedem Fall.

4
Mark Kaplun