Nginx rewrite правила для WordPress

Надыбал недавно в инете правила для rewrite под ЧПУ WordPress.
Решил спионерить немного их себе, в хозяйстве пригодятся, вернее уже пригодились 🙂

server {
    listen 80;
    server_name site.com;
    access_log logs/site.access.log;
    location ~* ^.+.(html|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar
  |bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$
    {
        root /home/site.com/public_html;
        rewrite ^/.*(/wp-.*/.*.(html|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar
  |bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js))$ $1 last;
        rewrite ^.*/files/(.*(html|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar
  |bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js))$
   /wp-content/blogs.php?file=$1 last;
        expires 30d;
        break;
    }
    location / {
        root /home/site.com/public_html;
        index index.php;
        if (!-e $request_filename) {
            rewrite ^.+/?(/wp-.*) $1 last;
            rewrite ^.+/?(/.*.php)$ $1 last;
            rewrite ^(.+)$ /index.php?q=$1 last;
        }
    }
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /var/www/nginx-default;
    }
    location ~ .php$ {
        rewrite ^/.*(/wp-.*/.*.php)$ $1;
        fastcgi_pass 127.0.0.1:xxxx;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /home/site.com/public_html$fastcgi_script_name;
        include /usr/local/nginx/conf/fastcgi_params;
    }
}
server {
    server_name www.site.com;
    rewrite ^/(.*) http://site.com/$1 permanent;
}

Похожие посты

Комментировать

Комментировать email не будет опубликован