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