用户工具

站点工具


侧边栏

information_technology:internet:cms:typecho

Typecho

Typecho是一个基于PHP的简洁的开源博客程序。它使用多种数据库(MySQL、PostgreSQL、SQLite、MariaDB)储存数据,在GNU GPLv2许可证下发行。带有完整的插件与模板(主题)机制,原生支持Markdown语法,支持BAE/GAE/SAE 等各类云主机部署。Typecho仅7张数据表,不足400KB 的源代码,被视为轻便版的WordPress(虽然开发者不这么宣传)。

Typecho.org使用DokuWiki构建“文档”,使用phpBBi构建“社区”,使用Typecho撰写“日志”,最新的稳定版为 1.1 (17.10.30),在typecho.me提供模板、插件及局部代码。

Typecho安装环境要求

  • PHP 5.4 以上
  • MySQL, PostgreSQL, SQLite 任意一种数据库支持,并在 PHP 中安装了相关扩展
  • CURL 扩展支持
  • mbstring 或 iconv 扩展支持

Typecho 仅 7 张数据表及不足 400KB 的代码,安装简便快速。

Typecho伪静态设置

不设置伪静态不能使用更加友好的静态路径风格永久链接,也可能导致Tag不可使用,以及搜索中文关键字时出现404。

Windows IIS服务器设置

IIS服务器必须拥有 URL Rewrite 模块,并建立入站规则(Inbound Rules) ;也可以直接在根目录下建立web.config文档。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
      <rewrite>
          <rules>
              <rule name="Typecho_rewrite" stopProcessing="true">
                  <match url="^(.*)$" ignoreCase="false" />
                  <conditions logicalGrouping="MatchAll">
                      <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                      <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                  </conditions>
                  <action type="Rewrite" url="index.php/{R:1}" /> 
                  <!--action行根据Typecho安装路径设置Url。如index.php/{R:1}或者/blog/index.php/{R:1}-->
              </rule>
          </rules>
      </rewrite>
  </system.webServer>
</configuration>

Linux Nginx服务器设置

修改nginx.conf:

if (!-e $request_filename) {
  rewrite ^(.*)$ /index.php$1 last;
}

Linux Apache服务器设置

修改 Apache 的配置文件 httpd.conf 使其支持 mod_rewrite 模块: LoadModule rewrite_module modules/mod_rewrite.so

修改 Apache 的配置文件 httpd.conf 使其支持 .htaccess 文件: 把文件中 AllowOverride None 换成 AllowOverride All

在网站根目录下的.htaccess文件中添加代码:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
</IfModule>

根据Typecho安装路径设置RewriteBase行和RewriteRule行。

宝塔Linux面板设置

在 网站 > 站点设置 > 伪静态里添加代码:

location /play/ {
  if (!-e $request_filename) {
      rewrite ^(.*)$ /play/index.php$1 last;
  }
}

Typecho 配置

在后台 设置-永久链接 的 是否使用地址重写功能 选择 启用;如果提示 重写功能检测失败, 请检查你的服务器设置。如果你仍然想启用此功能,请勾选这里 就 勾选 保存即可。

使用<!--more-->分隔符后的过多<br>标签

方法1: 原模板文件index.php

<?php $this->content('- 阅读剩余部分 -'); ?>

GreenGrapes模板文件index.php

<?php $this->content(); ?>

全局控制文章显示的内容

<?php $this->excerpt(200, '...'); ?>

不带输出字节控制实现

<?php $this->excerpt(); ?>

只输出文章里面的中第一个块级元素中的内容

<?php $this->summary(); ?>

方法2: 修改/var/hyperDown.php文件1177行:

$str = preg_replace("/\n/", "<br>", $str); 
$str = preg_replace("/\n/", "<br />", $str); 

IIS下应用程序池将被自动禁用

点击“开始”-“控制面板”-“管理工具”-“组件服务”-“计算机”-“我的电脑”-“DCOM”选项, 选择其下的“IIS ADMIN SERVICE”,右健选择“属性”,找到“安全”,在“启动和激活权限”中编辑“自定义”,添加帐号“NETWORK SERVICE “, 给该帐号赋予”本地启动”和“本地激活”的权限,重新启动IIS即可(“开始”-“运行”-“CMD”,点确定,然后运行IISRESET

一些主题或插件路径错误

主题和插件貌似都默认你把Typecho安装在根目录,因此需要核查路径。

独立修改模板文件后出现doctype之前的空白问题

出现在header.php中。重新保存为“UFT-8无BOM”以消除“非空格字符”验证错误,最后在后台“编辑当前外观”中修改代码。

TeStat插件不显示

调用代码示例:

<a class="btn-like" data-cid="<?php $this->cid();?>" data-num="<?php $this->likesNum();?>">喜欢<span class="post-likes-num"><?php $this->likesNum();?></span></a>

$this->viewsNum();    //浏览数
$this->likesNum();    //点赞数

注意:虽然Typecho被誉为中文的WordPress,但是现状是典型的缺乏后继开发能力和社区资源。建议作为学习搭建,谨慎用于环境。

information_technology/internet/cms/typecho.txt · 最后更改: 2019/11/25 22:16 (外部编辑)