typecho去掉index.php

    • 一、前言
    • 二、配置过程
    • 三、问题所在
    • 四、解决方案
    • 五、一点体会

一、前言

大家好,我是尝试中成长的站长,最近在使用typecho的过程中遇到了这种问题,index.php的伪静态没办法去掉,遂浏览器搜索了很多教程,本身不是很懂伪静态的配置,所以尝试了很多教程,由于有使用CDN,所以每次改完都会等CDN一会,其实是不需要的,然后就这样僵持了好久,这里提供宝塔的配置过程,很简单的。

二、配置过程

刚开始我觉得我这个问题应该很简单,搜索了一下 typecho 去掉 index.php,然后就有一大波教程出来了

总结一下几种方法,好像都是有效的

  • 直接改nginx的配置文件

    在配置文件下找

​ 添加以下代码到上图的位置上

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

最后记得重启nginx才能生效,不然你看不到效果。

然后typecho这边也得配置一下重写,然后就可以了。如果服务器未配置,不能正常访问

但是我在尝试了这种方案之后,我试了一下,好像正常访问文章确实没有了,但点击导航栏的网站链接好像又有了,就像下图

访问文章又是正常的

我就在想会不会是cdn的问题,这个导航是静态链接,cdn没改,于是去刷新了一波cdn的缓存,然后我等了5分钟

5分钟过去了还是一样,于是下一个方案。

  • 直接配置在宝塔的伪静态

    这是一个个人站点寒光博客

    location / {
    index index.html index.php;
    if (-f $request_filename/index.html) {
    rewrite (.*) $1/index.html break;
    }
    if (-f $request_filename/index.php) {
    rewrite (.*) $1/index.php;
    }
    if (!-f $request_filename) {
    rewrite (.*) /index.php;
    }
    }
    
    

    在做之前应该先把上面的配置重置。就这样我再次重复上面的操作,30分钟过去了,我的内心此时相当复杂,&#&&?#差点骂出来了

    然而还是这个问题,这个方案pass,下一个,耐力-99

  • 用宝塔nginx自带的配置

    这是方法中最简单的,简单点一下就完事了,还有一个typecho2是以typecho为首页的,就像abc.com/typecho,当然正常就不用了。

    cdn刷新加上一系列操作又过去了15分钟,还是一样,我当时真想把电脑砸了,不过还好这次有所收获,就是不加index.php这个界面仍然可以访问。太困了,去睡了一觉。

三、问题所在

一觉起来,恍然大悟,是主题的问题,外观设计我用的自定义栏,写的是固定链接,怀有感恩之心,不然作者此时应该打一下喷嚏。主题是cuteen主题相当的漂亮和美观。小丑竟是我自己。

四、解决方案

上面介绍的三种方法都是可行的,我个人还是推荐第三种,最简单的一种。如果一开始就知道的话,我应该是5分钟搞定。其实cdn也不需要刷新,这个配置是从数据库读取的,跟cdn没有一点关系。

五、一点体会

说实话,我本来是不想写这么多的,但很多时候,我们就非常有可能被这种看似非常小的问题给困扰好几个小时,所以我把自己踩坑的过程写了下来,正如网站创建的初心,在尝试中成长.总结以下几点。

  • nginx配置重新刷新需要重载或者重启。
  • 宝塔真的很方便,它的伪静态设置应该是嵌入nginx配置中的,不需要重新配置。
  • 主题还是得优先看看主题的配置
  • 网站变“美”之路仍需努力