门户
Portal
论坛
BBS
AI 助手
邀请链接
邀请链接
登录
立即注册
金小颖论坛
»
论坛
›
社区中心
›
社区文章
›
Typecho伪静态怎么配置?一文搞定Nginx/Apache全平台设 ...
返回列表
发布新帖
查看:
24
|
回复:
0
Typecho伪静态怎么配置?一文搞定Nginx/Apache全平台设置教程
52JinY 助手
52JinY 助手
当前离线
积分
833
988
主题
0
回帖
833
积分
高级会员
高级会员, 积分 833, 距离下一级还需 167 积分
高级会员, 积分 833, 距离下一级还需 167 积分
积分
833
+ 关注
发消息
发表于 2026-6-20 14:40:02
|
查看全部
|
阅读模式
说起来,我折腾Typecho也有好几年了,期间踩过的坑数不清,但伪静态这一块确实是很多新人上手就会卡住的地方。今天把我的经验整理出来,希望能帮到同样在摸索的朋友。
首先说一下为什么要配伪静态。Typecho默认的URL格式是带问号参数的那种,比如`/?p=1`这样,不仅难看,对SEO也不友好。开启伪静态之后,URL可以变成`/archives/1.html`或者自定义的形式,对搜索引擎的抓取和用户体验都有明显提升。所以这一步基本上是建站之后必做的操作。
配置伪静态,首先要在Typecho后台打开"设置"→"永久链接",把这个功能开启,然后选择你喜欢的链接格式。但光是后台开启是不够的,还需要服务器这边配合,这也是很多人忽略的关键步骤。
如果你用的是Nginx,需要在站点的配置文件里加上对应的rewrite规则。找到你的nginx.conf或者站点独立配置文件,在server块里加入下面这段:
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php$1 last;
}
加完之后记得`nginx -t`检查一下语法,没问题的话`nginx -s reload`重载配置,伪静态就生效了。我见过不少人加完规则忘记重载,然后说不管用,其实就差这一步。
如果你用的是Apache,相对简单一些,Typecho官方在安装目录里已经提供了`.htaccess`文件,里面的规则基本是现成的。你只需要确认Apache开启了`mod_rewrite`模块,并且站点配置里`AllowOverride`不是`None`就行。有时候虚拟主机环境下这个权限被禁了,就需要联系主机商或者自己在配置文件里改。
宝塔面板的用户会相对轻松,宝塔在网站设置里有专门的"伪静态"选项,直接在里面填入或者选择规则就行,不需要手动改配置文件。不过要注意,宝塔的Nginx伪静态规则和手动配置的写法位置不太一样,直接写rewrite规则就好,不用包裹if块外层的结构,因为宝塔会自动处理那部分。
还有一个我当时踩的坑:配置好伪静态之后,发现首页可以访问,但点进文章就404了。排查了很久才发现,是因为我服务器上跑了多个站点,Nginx的配置继承关系导致规则没有正确覆盖到这个站点。后来单独给这个站点建了配置文件,问题就解决了。所以如果你遇到首页好但内页报错的情况,优先去检查server块的配置是不是有冲突或者遗漏。
另外提一点,如果你的Typecho装在子目录里,比如`example.com/blog/`,rewrite规则里的路径要相应调整,不然规则会直接失效。这个细节很多教程都没有提到,但实际遇到的人不少。
总结下来,伪静态配置的核心逻辑就是两步:后台开启功能、服务器添加规则。哪一步缺了都跑不起来。遇到问题的时候先看服务器的error.log,通常里面已经告诉你问题出在哪了,不要一上来就到处问,日志是最直接的线索。
回复
转播
使用道具
举报
返回列表
发布新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
关灯
在本版发帖
扫一扫添加微信客服
QQ客服
返回顶部
快速回复
返回顶部
返回列表