Comment faire pour que WordPress vive à /blog
, alors qu'une autre application gère le répertoire racine /
, à l'aide de nginx?
J'ai la configuration de sous-domaine ordinaire maintenant, ce qui fonctionne bien.
J'ai lu https://codex.wordpress.org/Nginx et modifié ma configuration en fonction de servir WordPress en tant que sous-répertoire . Dans wp-config.php
j'ai
define('WP_HOME','http://example.com/blog');
define('WP_SITEURL','http://example.com/blog');
mais je continue à recevoir des erreurs 404, ou WordPress ne charge pas les fichiers CSS. J'ai aussi essayé
location /blog {
try_files /var/www/wordpress/$uri /var/www/wordpress/$uri/ /blog/index.php?$args;
}
404s encore.
Cela doit être une FAQ, mais je n’ai pas défini les termes de recherche (/blog
étant si courant que cela n’aide en rien).
Où puis-je trouver un fichier de configuration nginx complet et les paramètres wp-config
dotés de WordPress en direct à /blog
? Dois-je modifier les paramètres WP de sa base de données MySQL?
Voici ce quegénéralementfonctionne:
Ayez un fichier de configuration nginx pour la configuration du sous-domaine et assurez-vous que http://wordpress.example.com fonctionne.
Dans la configuration par défaut de nginx, utilisez un bloc location
pour /blog
qui envoie des proxies vers le sous-domaine:
location /blog {
rewrite ^/blog(/?.*)$ $1 break; # remove "/blog"
proxy_set_header Host wordpress.example.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://wordpress.example.com;
}
Dans wp-config.php
, ayez:
define('WP_HOME','http://idorecall.com/blig');
define('WP_SITEURL','http://idorecall.com/blig');
Je dis que "surtout" fonctionne parce que:
http://example.com/blog
, mais la configuration du sous-domaine wordpress utilise http, les navigateurs refuseront de charger de nombreuses ressources, avec un avertissement "Contenu mixte". Une solution consiste également à activer HTTPS sur le sous-domaine (StartSSL possède un certificat avec un sous-domaine libre). Un autre, je suppose, est que vous devrez exécuter une recherche de base de données Wordpress et remplacer of http://wordpress.example.com avec http: // example .com/blog .