Typecho只能打开主页,文章页打不开

熊猫之前帮一位同学解决问题时遇到的,当时网站可以正常访问,但是文章页要么打不开,要么就跳回首页去,今天就来说说如何解决这种情况。
Typecho只能打开主页,文章页打不开

运行环境:

nginx+linux

问题描述:
网站可正常打开,文章列表标题,描述正常,无法打开文章页

问题原因:
PHP不支持pathinfo

Typecho官方解决方案,会复现:
http://docs.typecho.org/servers

最终解决方法:
将 Nginx 的 PHP 段改成如下形式,就可以访问文章页了
location ~ .*\.php(\/.*)*$ {
        root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_split_path_info ^(.+?.php)(/.*)$;
        set $path_info "";
        set $real_script_name $fastcgi_script_name;
        if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
                set $real_script_name $1;
                set $path_info $2;
        }
        fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$real_script_name;
        fastcgi_param SCRIPT_NAME $real_script_name;
        fastcgi_param PATH_INFO $path_info;
        include        fastcgi_params;
    }

也就是添加 fastcgi_split_path_info ^(.+?.php)(/.*)$; 由 Nginx 设置 PATH_INFO 值。

sudo systemctl restart nginx
sudo systemctl restart php-fpm

重启服务器以生效
*打赏支持:支付宝/微信,请熊猫喝瓶肥宅快乐水吧!

声明:本博客除特殊说明外,皆为原创内容,转载请注明来源!

强烈推荐:HK虚机自带CDN,宕机无缝切换   Vultr注册就有10$,可开4个月服务器

标签: typecho

发表评论: