Ich baue eine automatisierte WordPress-Bereitstellung mit Composer auf und behalte den wp-content-Ordner außerhalb der WP-Hauptinstallation (weil ich einige benutzerdefinierte Plugins und Designs habe), die von github abgerufen werden.
Nach dem Abrufen von github und dem Ausführen von Composer sieht meine Ordnerstruktur folgendermaßen aus:
-composer.php
-env.php
-public/
|-index.php
|-wp-config.php
|-wp-content/
|-themes/
|-plugins/
|-sunrise.php
|-wp/
|wordpress stuff
Meine htaccess-Regeln funktionieren bei Verwendung von MAMP gut, aber ich verwende VVV als meine Entwicklungsumgebung und VVV verwendet nginx, sodass meine Rewrite-Regeln nicht funktionieren.
VVV verwendet 2 conf-Dateien: eine Datei, die von allen Sites auf der VM gemeinsam genutzt wird (gemeinsame Regeln) und eine Datei für jede Site (listet im Grunde nur das Stammverzeichnis auf).
Hier ist meine seitenspezifische conf-Datei:
server {
listen 80;
listen 443 ssl;
server_name auto.dev ~^auto\.\d+\.\d+\.\d+\.\d+\.xip\.io$;
root /srv/www/auto/htdocs/wordpress;
# my rules
# tells nginx to prepend "wp" to things
rewrite ^/(wp-.*.php)$ /wp/$1 last;
rewrite ^/(wp-(content|admin|includes).*) /wp/$1 last;
# end WP dir rules
include /etc/nginx/nginx-wp-common.conf;
}
also habe ich hinzugefügt
rewrite ^/(wp-.*.php)$ /wp/$1 last;
rewrite ^/(wp-(content|admin|includes).*) /wp/$1 last;
Und das funktioniert (ich kann den Admin-Bereich abrufen, und der Admin-Bereich hat all sein CSS und JS), aber ich stehe vor 3 großen Problemen:
1) Das Frontend der Seite hat kein CSS mehr. Die Chrome-Konsole zeigt einen Fehler in der zweiten Zeile meiner index.php:
Uncaught SyntaxError: Unexpected token <
Hinweis – Es sieht so aus, als ob einige der Themen funktionieren, eine Site mit dem Thema Twenty Fifteen sieht so aus, als ob sie funktioniert.
2) Ich kann den Multisite-Netzwerkbereich aus irgendeinem Grund nicht erreichen, wann immer ich versuche, dorthin zu gelangen http://auto.dev/wp-admin/network/
Meine Anfrage wird umgeschrieben als: http://http//auto.dev/wp-admin/network/
und damit offensichtlich nicht funktioniert
3) Schließlich kann ich mich nicht bei meinen Unterseiten anmelden. Zeug wie http://auto.dev/wiki/wp-admin/
gibt mir eine Umleitungsschleife
4) Mir ist gerade aufgefallen, dass die Vorschau des Designs defekt ist, wenn ich versuche, das Design für eine Website zu ändern.
Versuchen Sie, Multisite zu deaktivieren und es zum Laufen zu bringen, und aktivieren Sie es dann erneut.
– Josua
7. Januar 2016 um 5:05 Uhr
Ich bin kein Nginx-Typ, also bin ich keine große Hilfe, aber vielleicht möchten Sie es überprüfen root.io/trellis das nächste mal machst du sowas. Es führt ein ansibles Playbook aus, um eine hochoptimierte Vagrant-Instanz ähnlich wie VVV auszuführen/bereitzustellen, wodurch vieles vermieden wird, was Sie durchmachen.
– serraosays
7. Januar 2016 um 6:09 Uhr
Ich weiß, das ist umstritten, aber ich glaube, Sie gehen mit VVV den falschen Weg. Wenn Sie eine Umgebung benötigen, zB für die Entwicklung, warum verwenden Sie dann nicht einfach einen vollwertigen Klon Ihrer Produktion in jeder Hinsicht? Ich verwende eine .net-Domäne, die ein vollständiger Klon ist, oder ich verwende eine AWS-Instanz für Einwegartikel, wie z. Dies beantwortet Ihre Frage nicht, aber ich habe Monate gebraucht, um zu lernen, wie man eine GUI in der Cloud für WP erstellt [Codeception, Selenium, Con. Int., Git ect.], aber das war es wert. Vergessen Sie VVV und klonen Sie vollständig + Ihre Entwicklungstools.
– Jim Maguire
7. Januar 2016 um 15:59 Uhr
Die Umleitungsschleife hängt wahrscheinlich mit den WordPress-Datenbankeinträgen im Vergleich zu dem in der Datei config.php zusammen und nicht unbedingt mit den Nginx-Regeln.
– Shawn
8. Januar 2016 um 0:50 Uhr