打算练练手,CentOS8.2下使用 yum 安装的 nginx1.16 和 php7.4,没装MySQL,用的阿里云的单机数据库。

安装过程总的来说还算顺利,就是不懂nginx的规则,在pathinfo卡了好一会。

在站点配置文件加入以下代码

# Typecho伪静态代码,其他程序替换为对应规则即可
if (!-e $request_filename) {
    rewrite  ^/(.*)$  /index.php?$1  last;
    break;
}

# 开启Pathinf,我单独创建了个文件,然后使用站点配置文件引入的,如果是单站点也可以直接写到文件里
location ~ .*\.php(\/.*)*$
{
    # Nginx默认是使用Unix Socket与php-fpm通信,我改成了通过TCP Socket.
    # 这里需要改成自己的,通信方式可以在/etc/php-fpm.d/www.conf中查看/修改listen的值
    # fastcgi_pass unix:/run/php-fpm/www.sock; # 若为Unix Socket这里需要改为listen的值
    fastcgi_pass  127.0.0.1:9000;
    fastcgi_index index.php;
    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 $document_root$real_script_name;
    fastcgi_param SCRIPT_NAME $real_script_name;
    fastcgi_param PATH_INFO $path_info;
}

Typecho的默认主题只在PC端显示,移动设备是不显示搜索框和侧边栏的

修改方法

打开header.php,将 37-53 行的

<div class="site-name col-mb-12 col-9">
<?php if ($this->options->logoUrl): ?>
    <a id="logo" href="<?php $this->options->siteUrl(); ?>">
        <img src="<?php $this->options->logoUrl() ?>" alt="<?php $this->options->title() ?>" />
    </a>
<?php else: ?>
    <a id="logo" href="<?php $this->options->siteUrl(); ?>"><?php $this->options->title() ?></a>
    <p class="description"><?php $this->options->description() ?></p>
<?php endif; ?>
</div>
<div class="site-search col-3 kit-hidden-tb">
    <form id="search" method="post" action="<?php $this->options->siteUrl(); ?>" role="search">
        <label for="s" class="sr-only"><?php _e('搜索关键字'); ?></label>
        <input type="text" id="s" name="s" class="text" placeholder="<?php _e('输入关键字搜索'); ?>" />
        <button type="submit" class="submit"><?php _e('搜索'); ?></button>
    </form>
</div>

修改为

- 阅读剩余部分 -

编辑 /usr/themes/default/sidebar.php 文件,删除第二行的 kit-hidden-tb 即可。

侧边栏没有针对手机端的优化,但如果不显示出来就要另外加个分类页,个人认为还是显示出来好些。