Typecho 使用 PHP 编写,默认情况下 Typecho 文章 URL 会是形如yourdomain.net/index.php/sample.html
的形式,视觉上繁冗复杂,也不利于搜索引擎收录,可以用地址重写功能实现伪静态化(本文以 Nginx 环境为例)。
在终端中输入:
nginx -t
通过回显确认 nginx 配置文件(nginx.conf)所在的路径并使用文本编辑器打开,在终端中输入:
vim /etc/nginx/nginx.conf
在server{}
块中写入地址重写规则:当客户端浏览器请求的文件并不实际存在于服务器上的情况下,Nginx 对地址进行重写,将请求的文件名附在/index.php
后。
例如,客户端请求访问形如 yourdomain.net/sample.html
,Nginx 发现实际上并不存在sample.html
,就会把地址重写为 yourdomain.net/index.php/sample.html
,这样就达成了伪静态的目的。
需要特别注意,如果启用了 HTTPS,这段配置就需要写在listen 443
对应的server{}
块中,如果没有启用 HTTPS,则需要写在listen 80
对应的server{}
块中:
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php$1 last;
}
保存退出,让 nginx 重新载入修改后的配置文件,回到终端中输入:
nginx -s reload
打开 Typecho 后台,进入“设置-永久链接”,启用地址重写功能并定义好路径,譬如我自定义文章路径为{slug}.html
,也就是纯数字序号(可以在编辑文章时在标题栏下空文本框中手工填入),保存设置:
大功告成!
本页的评论功能已关闭