您的位置:首页 > 运维架构 > Nginx

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

2016-01-13 17:54 866 查看

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

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Nginx rewrite