web-dev-qa-db-fra.com

Règles Nginx pour l'installation multisite de sous-domaines (substrat rocheux)

J'essaie de déplacer une instance multisite basée sur Bedrock existante vers nginx et je ne parviens pas à obtenir un ensemble de règles nginx pour imiter le fichier .htaccess d'origine. Bedrock place le noeud des fichiers dans un sous-répertoire wp /, mais les URL doivent toujours être accessibles à partir du domaine racine.

Le .htaccess est ici comme suit:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) wp/$1 [L]
RewriteRule ^(.*\.php)$ wp/$1 [L]
RewriteRule . index.php [L]

J'ai besoin de ces règles au moins sous forme de règles de configuration nginx ou de préférence de règles nginx vhost.

1
etc
rewrite /wp-admin$ $scheme://$Host$uri/ last;
rewrite ^/(wp-.*.php)$ /wp/$1 last;
rewrite ^/(wp-(content|admin|includes).*) /wp/$1 last;

Ce sont les règles de réécriture équivalentes dont vous avez besoin. Notez que lorsque vous utilisez cette réécriture, vous ne devez plus définir le site_url comme/wp

Je dois terminer quelques tests, mais je mettrai à jour ici les résultats.

0
etc

Ok, un type sage a supprimé mon dernier message.

La réponse, que le membre ci-dessus (@etc) m'a donnée sur un autre forum et fonctionne très bien, est la suivante:

# Rewrites for Bedrock Multi-Site Subdomain Setup
rewrite /wp-admin$ $scheme://$Host$uri/ last;
rewrite ^/(wp-.*.php)$ /wp/$1 last;
rewrite ^/(wp-(content|admin|includes).*) /wp/$1 last;

Il a révisé sa réponse mais ne l'a pas postée ici. Je voulais simplement le mettre à jour, car je rencontrais aussi ce fil de discussion.

2
KJ Prince