美文网首页我爱编程
解决NGINX的WORDPRESS伪静态规则失效的问题

解决NGINX的WORDPRESS伪静态规则失效的问题

作者: 龙爪槐守望者 | 来源:发表于2018-05-25 02:05 被阅读115次

    前两天搬到了日本的樱花VPS上,用上了最新的WDCP2.5管理面板,支持多用户管理(我们几个合租的VPS,最需要这个功能了),感觉很不错,屁颠屁颠的把网站搬过来了,然后设计wordpress伪静态规则。我还是使用的是WDCP1.0时代的wordpress伪静态规则

    try_files $uri $uri/ /index.php?q=$request_uri;
    

    结果重启nginx,还是显示404。这就让我纠结了。后来我有测试一个网上最普遍的

    try_files $uri $uri/ /index.php?q=$uri&$args;
    

    结果还是失效,急的我像是热过上的蚂蚁啊,又在网上陆续找了一些伪静态规则,没一个成功了。重启服务器重启了N次。
    黄天不负有心人,最后终于让我找到了一条可以用的:

    rewrite ^.*/files/(.*)$ /wp-includes/ms-files.php?file=$1 last;
    if (!-e $request_filename) {
    rewrite ^.+?(/wp-.*) $1 last;
    rewrite ^.+?(/.*.php)$ $1 last;
    rewrite ^ /index.php last;
    }
    

    根据这条规则发明人的解释,第一条规则

    try_files $uri $uri/ /index.php?q=$request_uri;
    

    会让所有的找不到的目录和文件跳转到index.php处理,很有可能是我的index.php权限问题或者其他原因导致不能将伪静态地址映射到真实地址中去。所以才会出现这个纠结的问题。
    (特别注意:伪静态规则文件必须是.conf格式,并且文件里没有多余字符,结尾多一个空格都会出问题!)

    相关文章

      网友评论

        本文标题:解决NGINX的WORDPRESS伪静态规则失效的问题

        本文链接:https://www.haomeiwen.com/subject/vvaejftx.html