wordpress搬家nginx后文章打不开显示404解决办法

 

今天把服务器给弄好了。数据也恢复了。但是通过首页点击进入文章页面的时候,跳转到文章内容页面显示的确实404错误。

大概才到是固定连接的问题。于是从后台重置固定连接。无效。使用默认固定连接显示方式。ok。

下午发现这个问题的时候也没注意,觉得就这样了吧。

但是晚上突然发现百度和谷歌收录的博客的文章,全部都是用之前的固定连接。也就是说通过百度搜索点击进来看到的就是404错误。

擦,这还了得。收录几乎全失效啊。什么都会没了。

找解决办法。

网上大多是说后台修改固定连接显示方式就ok。但是我这却无效。

也有说是伪静态的原因。.htaccess可我的是nginx服务器。木有找到.htaccess这个文件啊

最后在一篇博文中发现要修改nginx.conf中的伪静态什么的吧。

ok。

在server{}中写入include wordpress.conf这一句就ok了

我的域名是在nginx.conf中写了绑定文件夹的信息的。

如果是多个站点的nginx服务器,那就写在/nginx/conf/vhost/域名.conf中的server中

重启一下nginx服务。问题解决。

wordpress换到nginx服务器后文章固定连接失效解决办法
文章固定连接失效

如果需要wordpress.conf,可以点此下载。上传到/usr/local/nginx/conf/文件夹下就可以了

11 thoughts on “wordpress搬家nginx后文章打不开显示404解决办法”

    1. 我给你拿出来了,地址在这里,http://aoxiang.me/wp-content/uploads/2013/12/wordpress.conf_.zip 下载下来放到/usr/local/nginx/conf/下就好了。

  1. hi~博主你好啊,我是一个非常新的新人,遇到一个与你类似的情况,容我慢慢道来。是这样的,最近我建了一个自己的网站,后来因为上传图片出现HTTP错误的问题,在各种测试无效后,备份网站然后格式化了服务器。在原服务器基础上(域名不变),重建LNMP安装了WordPress,上传了备份文件,全部还原了也没有了HTTP错误的问题。但是原来的网站自己的文章地址全部失效了(后台可以编辑图文,但从网站点进去看文章是失效的404页面)所以现在有几个问题想请教一下:
    (1)如果我按照博主类似的办法操作,是否可行呢?
    (2)我正在采用登录PHPmyadmin 修改SQL的办法(这个是我看的教程地址:https://zhuanlan.zhihu.com/p/50803437)这样的办法是否可行呢,因为看到他居然提到了(UPDATE wp_options SET option_value = REPLACE(option_value, ‘旧域名’, ‘新域名’) WHERE option_name = ‘home’ OR option_name = ‘siteurl’;)我的没有换域名,所以我不知道这样的方式是否可以让我的文章正常访问
    (3)如果以后网站的文章被搜索引擎检索收录了,那如果我再次搬家,可能涉及到更换主机了,这样是不是就会遇到现在你文章中提到的这个问题呢?用你的这种办法可以解决“老文章网址失效”的这个问题么?

    不好意思啊,比较啰嗦了,新人一个,很多东西都不懂~

    1. 不好意思,最近一直登录博客,回答你三个问题
      1、理论上可行的,但是我文中提到的wordpress.conf是LNMP.org自带的一个rewrite配置,专门针对wordpress的一个rewrite配置。你如果情况跟我类似,但是之前设定的固定连接无法打开,xxx.com/?p=102 能打开的话,99%是因为因为rewrite的问题。
      2、知乎的问题那个方法是因为改了域名导致的。因为wordpress里面,域名是写在数据库里,迁移并且更换域名,确实有可能导致打不开。
      3、如果网站文章被收录,后期迁移也不会影响,但同样你首先得保证前面说的rewrite规则正常。然后这里要展开说一下

      不更换域名的情况:啥都不用管,搜索引擎只认url,不管你是否更换了服务器。
      更换域名的情况:旧域名如果能继续使用的话,尽量把旧域名做301重定向到你新域名,这样的话搜素引擎就会知道这个链接已经变更为新的链接。

  2. 最后问个很小白的问题
    我看到很多人使用PHPmyadmin修改相关的数据,因为在WordPress是已经集成有了的,这样一来,我还需要再重新下载PHPmyadmin这个软件吗?还是说,我直接在XFTP软件上用原来集成好的PHPmyadmin就可以了呢?另外一点,这个文件是否必须,一定要放在/home/wwwroot/网站域名 这个目录上呢?另外就是,还有木有其他办法可以使用PHPmyadmin修改SQL的数据呢?因为集成的PHPmyadmin文件夹是在其他目录,我在把它复制到/home/wwwroot/网站域名 这个目录的时候,速度超级慢……或者就像刚刚我说的,如果我直接下载一个新版本的PHPmyadmin解压到/home/wwwroot/网站域名 这个目录上直接修改文件使用可以么?(需要把原来安装WordPress时集成的PHPmyadmin删除吗?)

    1. 还有木有其他办法可以使用PHPmyadmin修改SQL的数据呢?
      1、PHPMyAdmin只是一个Web端的数据库管理工具,你可以理解成,它把一些常用的sql语句集成了了而已,就是一个可视化的数据库管理工具。
      2、数据库管理工具有很多,window下有客户端如Navicat,Mac下如Sequel等,Web端常见的就是phpMyAdmin。一句题外话,你要精进深入下去,手写sql是必须的,这些工具只是把手写SQL简化了,变成了可视化的鼠标操作而已。

      所以,其他办法你明白了吗?

      其他几个问题我一起说一下,你自己理解。
      首先,WordPress本身不集成PHPMyAdmin,你应该不是官网下载的吧。
      其次,/home/wwwroot、以及目录相关的问题,是没有理解程序文件与域名的关系。

      以Nginx为例,在配置中,我们会将某个域名,例如aoxiang.me,指向到某个特定的目录例如/home/wwwroot/aoxiang这个目录下。当我们通过浏览器访问https://aoxiang.me这个地址时,Nginx会检查是否有aoxiang.me这个域名的配置,然后发现程序相关的文件放在/home/wwwroot/aoxiang目录下,就会到这个目录执行相应的文件,回去返回的信息,再返回给浏览器,浏览器接收到以后,呈现给用户。
      PHPMyAdmin放在/home/wwwroot/aoxiang(也就是wordpress的目录)目录下,是因为这样方便直接访问,调试,因为只需要部署一个站点,你就可以直接通过http://aoxiang.me/phpmyadmin来访问PHPMyAdmin控制数据库。

      所以,
      假如你在设置中,aoxiang.me指向的是另外/web/aoxiang/这个目录,你的WordPress相关的文件也在这个目录下,就能运行正常,否则就会提示404。

      最后抛出一个问题,如果不把PHPMyAdmin放在WordPress的目录下,我们怎样才能通过浏览器访问PHPMyAdmin呢?

      1. 非常感谢站长这么用心和细致的回答,我现在的问题搞定了,不过我采取了这么几个办法来处理我的问题:
        (1)我用了宝塔作为网站管理哈哈,修改数据库或者文件变得十分简单和傻瓜,所以基本在这方面我是没有问题了
        (2)更改网址的规则,原来我的网址规则是:域名/年/月/日/随机数字
        后来在Wordpress自带的域名修改规则为域名/index.php/年/月/日/随机数字,增加了这个就好了,我是无意间发现,具体的原理不明~~

        1. 这样的情况下,有个问题就是:原来收录的文章无用了,直接定位到404页面,所以我只能修改404页面,备注说明:XXX已经失效,还原到我的网站来之类的~~

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.