学习配置Nginx下WordPress的Rewrite规则

1,630次阅读
没有评论

Apache

在 Apache 下,利用 mod_rewrite 来实现 URL 的静态化。

.htaccess 的内容如下:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Nginx

在上次《Nginx 的 Rewrite 配置》中有个朋友问 WordPress 如何配置 Rewrite,当时也没给个完整正确的答案,最近自己需要 Nginx 下配置,不得不去解决这个问题。

其实在 Nginx 下配置 WordPress 的 Rewrite 还是比较简单的,在 location /{………………} 里面加入

if (!-e $request_filename){rewrite (.*) /index.php;
}

即可实现。

下面是一个完整的 vhost 的配置文件

server {
listen 80;
server_name chinaz.com down.chinaz.com;
location / {
        index index.html index.htm index.php;
        root /www/wwwroot/chinaz.com;
        if (-f $request_filename/index.html){rewrite (.*) $1/index.html break;
        }
        if (-f $request_filename/index.php){rewrite (.*) $1/index.php;
        }
        if (!-f $request_filename){rewrite (.*) /index.php;
        }

}
location ~ \.php$ {
        include fastcgi_params;
        fastcgi_index index.php;
        fastcgi_pass 127.0.0.1:8787;
        fastcgi_param SCRIPT_FILENAME /www/wwwroot/chinaz.com$fastcgi_script_name;
        }
location /ccvita-status {
        stub_status on;
        access_log off;
        }
}

 

正文完
 
cpciti
版权声明:本站原创文章,由 cpciti 2012-01-04发表,共计935字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。