Wordpress Nginx Rewrite规则(非Apache .htaccess伪静态规则)

先看看wordpress 使用Apache .htaccess的Rewrite规则:

	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteRule ^.*$ index.php [L]

Nginx的规则其实非常简单,以wordpress为例核心规则就一条

try_files $uri $uri/ /index.php?$args;

如果项目在根目录,只需要在conf文件中加入

location / {
    index index.php index.html index.htm;
    try_files $uri $uri/ /index.php?$args;
}

如果项目在blog目录,加入

location /blog/ {
    try_files $uri $uri/ /blog/index.php?$args;
}

保存退出,使用 /usr/sbin/nginx -t 命令测试一下语法是否正确,如果没问题使用 /usr/sbin/nginx -s reload 不中断服务重启该规则.

Post Comment