Welcome

首页 / 操作系统 / 服务器配置 / WordPress与Drupal的Nginx配置rewrite重写规则示例

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