• nginx解决WordPress修改固定链接后404错误的方法


    由于wordpress博客站点刚开始使用的时候忘记更改固定链接,使用的是默认的朴素固定连接   https://www.hello2099.com/?p=123 ,这样显示的链接有特殊字符,看起来不怎么美观。后来知道了固定链接的格式对SEO的好处,同时为了链接美观,决定更改固定链接格式。最后改成了https://www.hello2099.com/%post_id%.html 

    结果可想而知,肯定是站内所有文章都出现 404 错误。

    那么这个问题该如何解决呢?网上有文章说可以用插件,但是我不喜欢用插件,最后从 osetc博客  等多个博文中找到了满意解决方案,并且一次成功,我在此分享出来。

    首先我们应该更改网站域名所对应的配置文件,有的是 /etc/nginx/conf/yoursite.conf,我的网站没有建单独conf文件,我这里直接修改/etc/nginx/nginx.conf

    我的默认的配置文件如下:

     
    方法一:
    需要将下面几行if代码copy到server{ } 字段中,如上图绿色光标处。
    需要添加的代码:
    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;
    }
     添加完成后保存退出,重启nginx。
     
     
    方法二:
    在location / 字段修改添加以下代码:
    location / {
    try_files $uri $uri/ /index.php?$args;
    }
    rewrite /wp-admin$ $scheme://$host$uri/ permanent;
    添加完成后保存退出,重启nginx。
    再次访问你的网站,发现所有文章都可以正常访问了。
  • 相关阅读:
    第二次会议记录(2021.7.19)
    第一次会议记录(2021.7.8)
    软件工程助教工作总结
    Linux下的常用命令
    GPIO输出——使用固件库点亮LED 宏定义遇到的问题
    STM32 GPIO BRR和BSRR寄存器
    snprintf()函数使用方法
    结构体元素偏移量宏的定义及解析
    函数指针&回调函数Callback
    解析#define NULL ((void *)0)——野指针,空指针和 void*
  • 原文地址:https://www.cnblogs.com/surplus/p/14665272.html
Copyright © 2020-2023  润新知