Nginx Typecho伪静态,以及启用https后台页面异常,登陆后页面空白解决方法

warning: 这篇文章距离上次修改已过1454天,其中的内容可能已经有所变动。

自己弄LNMP环境真是到处是坑,最近折腾了两天终于把LNMP环境弄好了,刚开始一直无法解析php文件,打开网页就是下载index.php,不知道是哪里没有配置好。后面重新编译nginx,安装php以及MYsql后算是好了。到配置Typecho时又发现主页打开正常,然后点击其他链接就是404,写了伪静态规则也是不行,最后找到了一个伪静态规则,就是下面的配置算是正常了。但是打开后台界面时页面又是异常的,输入账号密码后登陆,就出现页面空白,真是一个问题接着一个问题,后面找到了下面的解决方法,原来要在config.inc.php里面配置启用https。但是我用apache的时候就没有遇到这个问题。。。。
下面是解决方法。

编辑Typecho站点根目录下的文件config.inc.php加入下面一行配置
解决方法来源 https://github.com/typecho/typecho/issues/797

define('__TYPECHO_SECURE__',true);

下面配置时Nginx的静态规则

    location / {
        index index.html index.php;

        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;
        }
        try_files $uri $uri/ =404;
    }
        if (!-e $request_filename) {
            rewrite ^(.*)$ /index.php$1 last;
        }

location ~ .*\.php(\/.*)*$  {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
}
最后修改于:2020年12月10日 13:55

添加新评论