Quel est l'équivalent nginx de cette règle mod_rewrite?

Mon wordpress me dit de mettre à jour mon file htaccess pour:

<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> 

J'utilise nginx, et j'ai ça mais ça ne marche pas:

  location / { root /home/mywebsite/public; index index.php index.html index.htm; if (!-e $request_filename) { rewrite ~(.+)$ /index.php?q=$1 last; } } 

essayez de le changer à cela;

  location / { root /home/mywebsite/public; index index.php index.html index.htm; try_files $uri $uri/ /index.php; } 

http://wiki.nginx.org/HttpCoreModule#try_files

Il fonctionne parfaitement.

Et pour activer PHP

passer les scripts PHP au server FastCGI en écoutant le 127.0.0.1.19000

  # location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; # # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini # # # With php5-cgi alone: # fastcgi_pass 127.0.0.1:9000; # # With php5-fpm: fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; }