WordPress默认的伪静态规则文件是.htaccess,.htaccess文件是在Apache环境下用的,而Nginx环境并不支持.htaccess,是通过.conf文件来配置规则。Nginx下的WordPress伪静态规则配置如下:
location / { 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; } }
加入上面的代码到网站对应的.conf文件里后,前台页面确实实现了伪静态url访问,但进入后台发现不能访问,后台所有的url地址中原来的/wp-admin/不见了,解决办法是在上面的代码后面再加入一行斜杠重定向规则,具体代码如下:
location / { 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; } } rewrite /wp-admin$ $scheme://$host$uri/ permanent;
发表回复