Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I am having some problems with the Nginx rewrite algorithm for WordPress.

I am using this for the rewrite and it works good;

    server_name www.domain.com domain.com;
    if ($host != 'domain.com') {
    rewrite ^/(.*)     http://domain.com/$1 permanent;
    } 

it makes this url;

http://domain.com/?author=1 

to this;

http://domain.com/author/username/

which is good but with an url like this;

http://domain.com/?author=1&type=like

it makes it;

http://domain.com/author/username/?type=like

and i am not getting any error but the query is not working.

What i am missing?

share|improve this question
add comment

1 Answer 1

up vote 3 down vote accepted

The correct Nginx rewrite rules for WordPress are:

location / {
        try_files $uri $uri/ /index.php?q=$uri&$args;
    }

This sends everything through index.php and keeps the appended query string intact.

If your running PHP-FPM you should also add this before your fastcgi_params as a security measure:

location ~ \.php {
        try_files $uri =404;

      //  fastcgi_param ....
      //  fastcgi_param ....

      fastcgi_pass 127.0.0.1:9000;
}
share|improve this answer
    
Chris thank you. Can you look at my whole code , is it looks correct right now? pastebin.com/DiMc6YtD ALSO where should i add the try files uri 404 in this? thanks. –  boranb Nov 15 '11 at 1:05
    
no this is giving me duplicate cause i have already have location php. can you help chris? –  boranb Nov 15 '11 at 1:20
    
okat i combined it like that and now everything works fine; pastebin.com/fuKwuCe1 but can you look at my whole code and tell me if i have any security issues? thanks –  boranb Nov 15 '11 at 1:28
    
Change line 70 to try_files $uri = 404; See Nginx 0 day exploit for more info. –  Chris_O Nov 15 '11 at 1:48
    
thank you very much chris! by the way the site you give is adding 403 not 404. what is the difference? –  boranb Nov 15 '11 at 2:15
show 1 more comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.