环境:
nginx
php7.2
迁移Typecho到新服务器后,首页正常,其它页面全部404,后台登陆也是404,伪静态没有起到效果的原因,即便配置好伪静态也无效。
原因:pathinfo没有开启
网上说配置文件里include enable-php.conf;替换为include enable-php-pathinfo.conf;
查看当前站点的配置:
#PHP-INFO-START PHP引用配置,可以注释或修改
include enable-php-72.conf;
#PHP-INFO-END
并没有看到enable-php只看到了enable-php-72,所以网上的方法行不通。
后来/www/server/nginx/conf/下找到enable-php-72.conf文件,会发现下面一行:
#include pathinfo.conf;
原来pathinfo被注释了,遂去掉#
include pathinfo.conf;
一切问题解决。
如果使用宝塔:
宝塔面板PHP管理器-安装扩展里面安装PATH_INFO。
PS:因为从wordpress迁移到typecho后,文章都没有作者,所以要批量修改文章作者。
管理员uid一般为1,不确定就数据库里typecho_users
看下自己的uid,typecho_contents
表里看文章authorId为3,改为1即可。
SQL执行:
update typecho_contents set authorId='1' where authorId='3'
Typecho博客程序转移数据需要在宝塔里设置伪静态
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php$1 last;
}
HYBBS论坛程序移动数据没设置域名是打不开的,在这个插件文件夹里Plugin/hy_domain_more/inc.php
还需要伪静态
if (!-d $request_filename){
set $rule_0 1$rule_0;
}
if (!-f $request_filename){
set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
rewrite ^/(.*)$ /index.php?s=$1 last;
}