• 2022年8月6日

PHP建站Apache转移到Nginx后产生404错误之原因和解决办法

原来的老爷机又卡又慢,掏了两百大洋买了一台2h4g的主机,想着网络上说Nginx“轻量级,占有内存少,并发能力强”,比那个Apache要强不少,于是在配置网站环境的时候就选的Nginx,但网络搬家后才傻眼了,能打开首页,能进后台,点击其他页面时全都显示404错误。

百度了一下,也找到一篇相关教程《PHP网站从Apache转移到Nginx后产生404错误的原因和解决办法》,说得已经很详细了,可惜的是里面的操作也有些小难,比如要新建my.conf文件,要把.htaccess文件内容转变后保存到my.conf文件中。

导致的原因是什么呢?是因为在Apache下我们时常把伪静态的代码写入到.htaccess文件中,到了Nginx时它不认.htaccess文件,这就让你的伪静态设置失效了,而你的网站设置里面已经是伪静态状态,不是那个?=1 这种序号的网址了。

具体应该怎么做呢?最正确的做法是通过https://www.bt.cn/Tools 这个代码转换网址,把你的伪静态规则写入到my.conf文件中中。

取巧的方法是怎么做的呢?当我看到里面的规则好像比较复杂,而不同的转写网站生成的代码也不尽相同时,我试了试BT面板站点设置中的伪静态,选择了我的wp程序,发现里面的简单代码,也能让网站正常运转。能解决问题了我就懒得按教程来了,后面要是发生别的问题到时再解决吧!

能实现的功能是你的站点伪静态搞定了,不能实现的是你原.htaccess文件中的代码其他功能没有了。所以后续需要根据站点问题再一一补足。