开发者社区> 问答> 正文

WordPress Nginx 伪静态 404

CentOS 6.5,环境使用的是WDCP,今天切换成 Nignx,为了以下伪静态规则,为何只能匹配


www.domain.com/postname/
而不匹配


www.domain.com/postname.html


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;
    }
}

展开
收起
milly 2016-04-18 19:29:18 8240 0
1 条回答
写回答
取消 提交回答
  • 回 1楼dongshan8的帖子
    使用这个规则后和原文说的一样,可以从domain.com/postname/ 跳转到 domain.com/postname.html 但是还是显示404

    -------------------------

    回 3楼dongshan8的帖子
    用的是 WDCP,估计是哪边有问题,我设置的是一样的…默默切换回 Apache,然后内存又暴了…

    -------------------------

    ReWordPress Nginx 伪静态 404
    终于找到可以用的规则了,之前的规则可能是某些设置或 index.php 权限问题导致无法定位到正确的地址,用以下规则解决,遇到同样问题的可以试试。 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;
    }


    2016-04-18 22:33:34
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《Nginx 代理系统常用手册》 立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手 立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册 立即下载