Apache和Nginx伪静态规则不一致导致页面404

       

        博客由hawkhost搬家至DigitalOcean系列文章:

        1. 新版hawkhost用户界面数据备份

        2. 在DigitalOcean中新建Droplets  

        3. 在Ubuntu14.04系统中安装lnmp1.2  

        4. lnmp1.2添加虚拟主机      

        5.怎样用Filezilla安全传输和管理VPS中的文件  

        6.将wordpress和数据库搬到DigitalOcean        

        7.域名解析由万网修改为DNSPOD   

        8.Apache和Nginx伪静态规则不一致导致页面404         

        9.wordpress 升级插件需要输入FTP信息

       域名解析设置完成后,我发现小站只有首页可访问,其他页面均为404。经过确认,Apache和Nginx伪静态规则不一致导致页面404。Apache下,伪静态规则写在网站根目录的.htaccess文件中,而Nginx不识别.htaccess文件,导致伪静态无效而出现404。    

Apache和Nginx伪静态规则不一致导致页面404

        这里再说明一下本站的案例:小站由hawkhost共享虚拟主机搬迁到DigitalOcean,在DigitalOcean中安装了lnmp1.2,php/mysql/nginx等安装的均为lnmp1.2一键安装包中的默认版本。配置虚拟主机完成,将wordpress和数据库转移到虚拟主机,DNS解析完成后出现首页可访问,其他页面404的状况。

       本站采用如下方案可以解决该404错误:

       在文件/usr/local/nginx/conf/vhost/livezingy.com.conf”下的Server{}字段中“root /home/wwwroot/new”的下面添加代码,内容如下:

保存后,通过Putty输入 /etc/init.d/nginx restart , 重启nginx后,再次访问网站即全部恢复正常。

     lnmp官网中建议的伪静态管理方案

     lnmp官网中也有提到伪静态管理方案,不过这种方案我并未尝试,在这里记录下来备用。

     在文件/usr/local/nginx/conf/vhost/livezingy.com.conf”下的Server{}字段中“root /home/wwwroot/new”的下面添加代码
      include wordpress.conf;
     上面的wordpress.conf为伪静态文件,如需要其他伪静态文件自己创建个并上传到/usr/local/nginx/conf/ 下面并include 伪静态.conf; 加完保存,执行:/etc/init.d/nginx restart 重启生效,如果报错可能是添加有误或伪静态规则有误。

发表回复

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

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

Fork me on GitHub