启用gzip压缩
- 在typecho的config.inc.php加入以下代码
php 代码:/** 开启gzip压缩 */
ob_start('ob_gzhandler');
去除地址栏index.php
- 在Typeho后台设置中地址重写选择wordpress风格
- 设置伪静态为typecho,如下
php 代码:if (!-e $request_filename) {
rewrite ^(.*)$ /index.php$1 last;
}
后台地址修改
- 将admin文件夹重命名
- 修改Typecho根目录下的config.inc.php文件,将define(‘\_\_TYPECHO\_ADMIN\_DIR\_\_’, ‘/admin/’);中的的admin改成新名称即可
站点设置Https
php 代码:/*站点设置https*/
define('__TYPECHO_SECURE__',true);
后端优化
- php最好选择php7.0以上
- php安装Opcache扩展,用于加速php速度
- 启用Memcached/Redis缓存,这是一款Memcached缓存插件,用于Typecho缓存 TpCache
创建页面缓存
- 在Typecho根目录下创建f5\_cache.php
- 添加以下代码并保存
php 代码:<?php
$nowtime=time();
$pastsec = $nowtime - $_GET["t"];
if($pastsec<600) {
exit;
//10分钟更新一次,时间可以自己调整
}
ob_start();
//打开缓冲区
include("index.php");
$content = ob_get_contents();
//得到缓冲区的内容
$content .= "\n<span class="token punctuation">.</span>$nowtime<span class="token punctuation">.</span><span class="token string">"\">";
//加上调用更新程序的代码
file_put_contents("index.html",$content);
if (!function_exists("file_put_contents")) {
function file_put_contents($fn,$fs) {
$fp=fopen($fn,"w+");
fputs($fp,$fs);
fclose($fp);
}
}
?>
- 然后访问该文件显示博客主页,并在根目录下生成index.html文件
- 在网站管理中设置默认文档优先级,将index.html放最前面即可
绕过代理获取ip
php 代码://绕过 CDN 代理获取真实 IP
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){
$list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
$_SERVER['REMOTE_ADDR'] = $list[0];}
修改gravatar头像为qq头像
- 博客根目录/var/Typecho下Common.php文件内搜索(获取gravatar头像地址)或者大概位置为816行
- 修改为以下代码
php 代码:/**
* 获取QQ头像,如果失败,获取Gravatar头像
*
* @param string $mail
* @param int $size
* @param string $rating
* @param string $default
* @param bool $isSecure
* @return string
*/
public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
{
$reg = "/^\d{5,11}@[qQ][Qq]\.(com)$/";
if (preg_match($reg, $mail)) {
$img = explode("@", $mail);
$url = "//q2.qlogo.cn/headimg_dl?dst_uin={$img[0]}&spec=100";
} else {
if (defined('__TYPECHO_GRAVATAR_PREFIX__')) {
$url = __TYPECHO_GRAVATAR_PREFIX__;
} else {
$url = $isSecure ? 'https://sdn.geekzu.org' : 'https://gravatar.inwao.com';
$url .= '/avatar/';
}
if (!empty($mail)) {
$url .= md5(strtolower(trim($mail)));
}
$url .= '?s=' . $size;
$url .= '&r=' . $rating;
$url .= '&d=' . $default;
}
return $url;
}
修改文件上传路径
- 打开以下文件
var/Widget/Upload.php
,修改上传目录即可
php 代码:/**
* 上传组件
*
* @author qining
* @category typecho
* @package Widget
*/
class Upload extends Contents implements ActionInterface
{
//上传文件目录
public const UPLOAD_DIR = 'usr/uploads';
/**
* 删除文件
*
* @param array $content 文件相关信息
* @return bool
*/
public static function deleteHandle(array $content): bool
{
$result = Plugin::factory(Upload::class)->trigger($hasDeleted)->deleteHandle($content);
if ($hasDeleted) {
return $result;
}
return @unlink(__TYPECHO_ROOT_DIR__ . '/' . $content['attachment']->path);
}
挺好,学习了
暂无点赞