J'ai deux problèmes mais je pense qu'ils sont liés. Les sous-répertoires comme /wp-admin
, /blog
renvoient 404, par conséquent, les permaliens ne fonctionnent pas lorsqu'ils suivent/blog/category1/page.php
Ma configuration :
J'ai un serveur 192.168.1.4
sous nginx. Sur un autre serveur, 192.168.1.1
j'ai un serveur Web Apache utilisant des hôtes virtuels qui hébergent mon site wordpress. La configuration fonctionne bien sans nginx, mais lorsque j'allume nginx, j'ai quelques problèmes.
Nginx ne fonctionnera pas avec les permaliens. J'ai utilisé la valeur par défaut, alors maintenant c'est comme : http://www.mywebsite.co.uk/?page_id=90
qui fonctionne bien (tant que ce n'est pas dans le sous-répertoire).
Tout dans le sous-répertoire (pas dans la racine) se brise. Y compris les pages d'administration http://www.mywebsite.co.uk/wp-admin , ou (avant de désactiver les permaliens) http://www.mywebsite.co.uk/blog . Ils vont tous à 404
, en particulier:404 Not Found nginx/1.4.6 (Ubuntu)
Voici ma config :
server {
server_name mywebsite.co.uk www.mywebsite.co.uk;
location / {
index index.php;
proxy_pass http://192.168.1.1$request_uri;
proxy_set_header Host $host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
try_files $uri $uri/ =404;
#try_files $uri $uri/ /index.php?$args; #not working, error: rewrute or internal redirection cycle while interally redirecting to index.php
}
}
Pour référence, voici mes permaliens : /blog/%category%/%postname%/
Mettre à jour
J'ai essayé d'ajouter ceci à ma config :
server {
... config above ...
location /wp-admin/ {
index index.php
try_files $uri $uri/ /wp-admin/index.php?$args;
proxy_pass http://192.168.1.1$request_uri;
proxy_set_header Host $host;
}
}
cela renvoie une erreur dans le journal :
rewrite or internal redirection cycle while internally redirecting to "/wp-admin/index.php", client: xxxxx, server: mydomain.co.uk`
Vous avez des morceaux d'une configuration de travail. Le but de nginx
dans votre configuration, est de reverser le proxy au serveur Apache. Les index
et try_files
sont inappropriés dans ce cas. Essayer:
server {
server_name mywebsite.co.uk www.mywebsite.co.uk;
location / {
proxy_pass http://192.168.1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots