WordPress与Drupal的Nginx配置rewrite重写规则示例

WordPress

wordpress依然是目前是世界上最流行的博客系统,越来越多由wordpress搭建而成的网站在使用nginx服务器软件,这里就来分享一下WordPress的nginx重写规则:
 

    server {      listen    80;      server_name www.jb51.net jb51.net;      access_log /data/logs/nginx/www.jb51.net.access.log main;         index index.html index.php;      root /data/site/www.jb51.net;  location / {      try_files $uri $uri/ /index.php?$args;      add_header Pragma "public";      expires 12h;  }     rewrite /wp-admin$ $scheme://$host$uri/ permanent;     location ~* ^.+.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {      access_log off;        log_not_found off;        expires max;  }        location ~ .php$ {      try_files $uri =404;         fastcgi_split_path_info ^(.+.php)(/.+)$;      #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini         include fastcgi_params;      fastcgi_index index.php;      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  #    fastcgi_intercept_errors on;      fastcgi_pass 127.0.0.1:9000;  }     location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$  {      expires 24h;      access_log off;  }     location ~ .*.(js|css)$  {      expires 24h;      access_log off;  }  

 重启你的nginx即可

Drupal nginx重写规则
Drupal是使用PHP语言编写的开源内容管理框架,就是俗称的CMS,很多人在用Drupal搭建自己的博客,这里也来分享一下Drupal的nginx重写规则:

  server {   ...  location / {   # This is cool because no php is touched for static content   try_files $uri @rewrite;   }  location @rewrite {   # Some modules enforce no slash (/) at the end of the URL   # Else this rewrite block wouldn't be needed (GlobalRedirect)   rewrite ^/(.*)$ /index.php?q=$1;   }  location ~ .php$ {   fastcgi_split_path_info ^(.+.php)(/.+)$;   #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini   include fastcgi_params;   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;   fastcgi_intercept_errors on;   fastcgi_pass unix:/tmp/phpfpm.sock;   }  ...   }  

 
重启nginx

参与评论