Je migre d'Apache vers Nginx. Tout fonctionne très bien, sauf si le plugin de redirection est activé. Dans ce cas, je ne peux accéder à aucune des pages de mon site, à l'exception de la page d'accueil. Ils renvoient tous une erreur 404. Si je désactive à nouveau le plug-in, je peux naviguer sur mon site normalement.
Ma configuration Nginx est la suivante:
upstream php
{
server 127.0.0.1:9000;
}
server
{
listen 80;
root /home/clearpointccs/public;
server_name www.clearpointcreditcounselingsolutions.org clearpointcreditcounselingsolutions.org;
index index.php;
location /
{
index index.php;
try_files $uri $uri/ /index.php;
}
location ~\.php$
{
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass php;
fastcgi_index index.php;
}
}
J'ai essayé de regarder cela, mais tout ce que j'ai lu dit que le plugin est compatible avec Nginx, ce qui me fait croire que c'est quelque chose dans ma config. Des idées?
EDIT: Un aperçu des journaux d’erreur montre ce qui suit:
14 2012/06/29 21:36:48 [error] 17279#0: *703 FastCGI sent in stderr: "ould not be called statically, assuming $this from incompatible context in /home/clearpointccs/public/wp-content/plugins/re direction/models/match.php on line 68
15 PHP Strict Standards: Non-static method Red_Action::create() should not be called statically, assuming $this from incompatible context in /home/clearpointccs/public/wp-content/plugins/redir ection/models/redirect.php on line 46
16 PHP Strict Standards: Non-static method Red_Action::available() should not be called statically, assuming $this from incompatible context in /home/clearpointccs/public/wp-content/plugins/re direction/models/action.php on line 20" while reading response header from upstream, client: 96.228.60.10, server: www.clearpointcreditcounselingsolutions.org, request: "GET /about-us/ HTTP/ 1.1", upstream: "fastcgi://127.0.0.1:9000", Host: "www.clearpointcreditcounselingsolutions.org", referrer: "http://www.clearpointcreditcounselingsolutions.org/"
Je remarque deux choses dès le départ.
Tout d'abord, le paramètre try_files
dans votre bloc d'emplacement racine devrait être:
try_files $uri $uri/ /index.php?$args;
De plus, j'ai ce bloc dans mon propre fichier de configuration (en utilisant parfaitement Nginx et Redirection), mais vous semblez le manquer:
location @wp {
rewrite ^/files(.*) /wp-includes/ms-files.php?file=$1 last;
rewrite ^(/[^/]+)?(/wp-.*) $2 last;
rewrite ^(/[^/]+)?(/.*.php) $2 last;
rewrite ^/(.*)$ /index.php?q=$1 last;
}
La première réécriture est destinée au multisite, vous pouvez donc en avoir besoin ou non ...