Nginx下多个不同子目录下的wordpress伪静态设置
最近开发 wordpress 的一个插件,需要在二级子目录下测试,有不少教程是关于顶级域名访问绑定在二级子目录下的wordpress,这个真用不上,于是各种折腾出如下效果!
wordpress放置于子目录 /wp/ 中,访问域名形如: http://test.yangjunwei.com/wp/。
找到 /usr/local/nginx/conf/nginx.conf 中关于 test.yangjunwei.com 的设置部分,将如下子目录wordpress伪静态规则添加进去即可。
location /wp/ { if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php last; } if (!-f $request_filename){ rewrite (.*) /wp/index.php last; } }
如果多个不同子目录下均安装有 wordpress ,则将上述复制多份即可。
注:其中 break 的意思是立即断开转发,因此不能将其中的 last 替换为 break,否则将会造成访问不正常。