ramlife

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

typecho 的文件 如果是不是直接放到 html 目录下面,而是作为 html 的子目录来存放的话,默认就会出现这个问题。
在华为云上面,修改 /etc/nginx/conf.d/default.conf 这个文件

location ~ .*\.php$

需要修改为

location ~ .*\.php(\/.*)*$

然后 service nginx reload 重启 nginx 的服务就可以了。
刚重启之后 控制面板立刻就能显示出来,但是其他的页面需要过会才能正常显示。

这时候其他功能都能够使用,就是搜索不能使用,参考网上其他人的方法,终于找到了解决方法。
首先在后台里面点击 设置 --> 永久链接,在里面开启 地址重写功能,就算有警告提示,也选择确定。
然后修改 default.conf 文件,增加

    if (-f $request_filename/index.html){
        rewrite (.*) $1/index.html break;
    }
    if (-f $request_filename/index.php){
        rewrite (.*) $1/index.php last;
    }
    if (!-f $request_filename){
        rewrite (.*) /note/index.php last;
    }
}

其中 note 是你自己的子目录名字,注意第三个 if 前面有 !。然后重启 nginx 即可。

如果不是子目录那么在 location / { 里面添加

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

自定义上传目录
在 config.inc.php 里新增一行下列代码即可,其中 your_upload_dir 是你要上传的目录:

define('__TYPECHO_UPLOAD_DIR__', 'your_upload_dir');

参考:http://docs.typecho.org/faq
http://forum.typecho.org/viewtopic.php?f=24&t=5203&p=27529&hilit=子目录#p27529
https://www.xiaoz.me/note/212.html
https://cloud.tencent.com/developer/article/1356132

posted on 2020-09-11 23:04  ramlife  阅读(1130)  评论(0编辑  收藏  举报