产品详细信息

Typecho插件_在显示404之前使用规则重写

自动发货 库存(1)

¥ 0.20 ¥ 1.00

电子邮箱
购买数量
支付方式
商品详情

Typecho插件_在显示404之前使用规则重写

 

一个能让你的 Typecho 在 404 显示之前重定向到其他地方的插件。

 

●安装

将东西丢到 `usr/plugins/RewriteRule` 下即可,文件夹自建。

 

●配置

1.访问后台-插件管理,启用 RewriteRule 后方可设置。

2.在输入框内输入跳转的规则,一行一个。每一行格式如@:

用来匹配的Pattern 新地址[ 可选的flags]

 

例如 `^\/(\d+)\/?$ /archives/$1 T` 会把诸如 `/27` 或者 `/27/` 的地址跳转到 `/archivers/27` 上(而且因为这里有 T 这个flag,所以采用的是302临时重定向)

 

●分析那句规则

1. 首先正则表达式 `^\/archives\/(?P\d+)\/` 会匹配先前提到的那种地址,并把其中的数字存为 `$cid` 变量。

2. 由于末尾加上了flag `C`,而且存在变量`$cid`,因此插件会搜索数据库查找对应文章。

    1. 如果找到了,则扩展会补齐 `$cid, $slug, $category` 三个变量,规则指定的新地址 `/archives/$slug/`里面的变量名自然会被替换。

    2. 如果没有查找到,则这句规则无效。要是后续的规则还是无效,则显示 404。

    

●关于 C 这个flag

这个 flag 会补全 `$cid, $slug, $category` 三个变量,只要 Pattern 里面搞到了至少一个上述变量就能工作。

 

要让正则给捕获组命名,写法有点难看,就像 `(?P<名字>正则表达式)` 这种。