TYPECHO WIKI
每一个作品都值得被记录

Typecho安装后后台界面和文章链接均为404错误的解决方法

Typecho维基君Typecho教程 • 3211次浏览 • 发布 2019-03-11 • 更新 2019-03-18

这是由于Nginx对pathinfo支持不够的问题,需要手动添加地址重写代码。
在站点配置文件,默认为

/etc/nginx/sites-available/default

中对应本Typecho的

server{
    ...
    location / {
        ...
        //这里添加
        ...
        try_files $uri $uri/ =404;
        ...
    }
}

添加如下代码:

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

然后重启Nginx:

sudo service nginx restart

就可以打开后台控制面板和前台的文章链接了。

如果问题仍然存在请检查fastcgi配置,以及PHP的cgi.fix_pathinfo问题,参见在Ubuntu14.04上搭建LEMP环境

以上代码同样适合宝塔面板,修改方式如下:

打开宝塔面板的网站管理

将以上代码添加到配置文件中

将以上代码添加到配置文件中

参考我的配置文件:

server {
    listen 80;
    server_name typecho.wiki www.typecho.wiki;
    root /usr/share/nginx/html/blog;
    index index.php index.html index.htm;

    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;
        }
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;
        # Uncomment to enable naxsi on this location
        # include /etc/nginx/naxsi.rules
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files $uri = 404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,Typecho.Wiki所有文章均包含本声明。
厂商投放

【腾讯云】🎉五一云上盛惠!云服务器99元/月续费同价!

腾讯云五一劳动节海量产品 · 轻松上云!云服务器首年1.8折起,买1年送3个月!超值优惠,性能稳定,让您的云端之旅更加畅享。快来腾讯云选购吧!

广告
添加新评论 »

仅有一条评论 »

  1. 恶性循环 恶性循环

    谢谢,按照你这个加了进去就好了!!