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;