WordPress-Regeln haben auch Ausnahmen

WordPress Apache

WordPress ApacheWordPress hat einen bedeutenden Evolutionsschritt in der Blogging-Plattform gemacht und es einem vollwertigen Content-Management-System mit Revisionsverfolgung, mehr Unterstützung für benutzerdefinierte Menüs und - für mich die faszinierendste Funktion - Unterstützung für mehrere Websites mit Domain-Mapping näher gebracht.

Wenn Sie kein Junkie des Content-Management-Systems sind, ist das in Ordnung. Sie können diesen Artikel direkt überspringen. Aber für meine Techno-Geeks, Code-Köpfe und Apache-Dabbler möchte ich etwas Interessantes und Cooles teilen.

Multi-Site ist eine Funktion, mit der Sie eine beliebige Anzahl von WordPress-Websites mit einer einzigen WordPress-Installation ausführen können. Wenn Sie mehrere Websites verwalten, ist dies hilfreich, da Sie eine genehmigte Gruppe von Themen und Widgets installieren und für Ihre Client-Websites aktivieren können. Es gibt einige technische Hürden, um Ihre Domains zuzuordnen, aber der Prozess ist nicht schwierig.

Einer der von mir identifizierten Problembereiche ist die Anpassung von Themen. Da Themen für mehrere Websites verfügbar gemacht werden können, wirken sich alle Anpassungen, die Sie an einem Thema vornehmen, auch auf andere Websites aus, die dieses Thema bei Ihrer Installation mit mehreren Websites verwenden. Um dies zu umgehen, dupliziere ich ein Thema, bevor ich mit dem Anpassen beginne, und benenne das Thema eindeutig für die Client-Site, für die ich es gestalte.

Ein weiteres interessantes Problem ist, was in der .htaccess-Datei auf Ihrem Apache-Server passiert. WordPress muss Pfade Blog für Blog neu schreiben und tut dies mit einer Umschreiberegel und einer PHP-Datei.

WordPress verwendet die folgende Umschreiberegel:

RewriteRule ^ ([_ 0-9a-zA-Z -] + /)? Files /(.+) wp-includes / ms-files.php? File = $ 2 [L]

Im Wesentlichen wird alles, was sich in einem Unterverzeichnis von mysite.com/files/directory befindet, in mysite.com/files/wp-includes/myblogfolderpath… umgeschrieben, und hier wird es interessant. Was passiert, wenn Sie tatsächlich eine Datei auf Ihrem Server benötigen, die mysite.com/files/myfolder/myimage.jpg lautet? Sie erhalten einen 404-Fehler, genau das passiert. Die Apache-Umschreiberegel wird aktiviert und ändert den Pfad.

Zugegeben, Sie werden vielleicht nie auf dieses Problem stoßen, aber ich habe es getan. Ich hatte eine Website, die ein Javascript-Widget von einer anderen Website verwenden musste, und sie musste Grafiken unter mysite.com/files/Images/myfile finden. Da es keine Möglichkeit gab, die Datei auf der Host-Site zu ändern, musste ich einen Weg finden, dies auf meinem Server zu tun. Die einfache Lösung besteht darin, eine Umschreibungsbedingung zu erstellen, die eine Ausnahme für bestimmte Dateien darstellt.

Hier ist die Lösung:

RewriteCond% {REQUEST_URI}! /? Files / Image / file1.jpg $
RewriteCond% {REQUEST_URI}! /? Files / Image / file2.jpg $
RewriteRule ^ ([_ 0-9a-zA-Z -] + /)? Files /(.+) wp-includes / ms-files.php? File = $ 2 [L]

Die Umschreibbedingungen müssen vor der Umschreiberegel stehen, sonst funktioniert dieser Trick nicht. Es sollte einfach sein, diese Bedingung für Ihre eigenen Zwecke zu ändern, falls Sie auf ein ähnliches Problem stoßen. Die Lösung funktionierte hervorragend für mich und ermöglichte es mir, benutzerdefinierte Grafiken anstelle des weniger wünschenswerten Alternativtextes zu ersetzen, der nicht zu meinem Design passte. Hoffentlich funktioniert es auch bei Ihnen.

Was denken Sie?

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.