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