4

Okay I'm kind of n00b on Nginx, and I've browsed through here and couldn't piece together an answer. SO here is what i got

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;
}

This is on a wordpress setup the first location block should pass all file requests to the wordpress bootstrap.

the location /dojump block is supposed to be for an outbound redirect script i have. I want to catch the arguments and pass them to the index.php script

like /dojump/cnn.com to /dojump/index.php/cnn.com

it works with apache with this simple .htaccess line inside the dojumps folder

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

however, I get an nginx error in the error log

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

Any help?

Thanks

bonez
  • 685
  • 1
  • 16
  • 39
  • 2
    Lots of similar questions: http://stackoverflow.com/questions/5920081/ http://stackoverflow.com/questions/3255446/ Nginx has a page dedicated to Wordpress: http://wiki.nginx.org/Wordpress – Alexander Azarov Aug 13 '11 at 07:15

1 Answers1

4

Try passing the url as a GET parameter.

rewrite ^/dojump/(.*)$ /dojump/index.php?url=$1 break;
matzahboy
  • 3,004
  • 20
  • 25