Nginx réécrit toutes les requêtes de répertoire à index.php

Okay je suis un peu n00b sur Nginx, et j’ai parcouru ici et ne pouvais pas reconstituer une réponse. Donc voici ce que j’ai

server { root /usr/share/nginx/www; index index.php index.html index.htm; # Make site accessible from http://localhost/ server_name localhost; location / { # First attempt to serve request as file, then # as directory, then fall back to index.html if (-f $request_filename) { expires 30d; break; } if (!-e $request_filename) { rewrite ^(.+)$ /index.php?q=$1 last; } } location /dojump { rewrite ^/dojump/(.*)$ /dojump/index.php/$1 break; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php(.*)$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } 

Ceci est sur une configuration wordpress le premier bloc de localisation devrait passer toutes les demandes de fichiers au bootstrap wordpress.

le bloc location /dojump est supposé être un script de redirection sortant. Je veux attraper les arguments et les passer au script index.php

comme /dojump/cnn.com pour /dojump/index.php/cnn.com

il fonctionne avec Apache avec cette simple ligne .htaccess dans le dossier dojumps

 RewriteRule ^(.*)$ index.php/$1 [L] 

cependant, j’obtiens une erreur nginx dans le journal des erreurs

 /usr/share/nginx/www/dojump/index.php/cnn.com" failed (20: Not a directory) 

De l’aide?

Merci

Essayez de passer l’URL en tant que paramètre GET.

 rewrite ^/dojump/(.*)$ /dojump/index.php?url=$1 break;