很多站长做网站的时候,都会把链接改成伪静态形式,这样对SEO更友好,也更容易被搜索引擎收录。可不少朋友设置完伪静态之后,要么出现网站全部404,要么首页能打开内页打不开,折腾半天也找不到问题出在哪。其实伪静态设置失败的原因就那几种,跟着步骤一步步排查,很快就能找到问题解决掉,今天就给大家梳理一下整个排查流程,新手也能看懂。

先检查服务器是否开启伪静态模块
首先第一步,你要确认你的服务器有没有开启对应的伪静态模块,不同的web服务器配置方法不一样。比如nginx服务器,需要你在server配置块里添加上伪静态的规则,如果规则没加或者加错位置,就会导致伪静态失效。如果是apache服务器,需要确认rewrite模块有没有开启,很多新手安装apache的时候默认没开这个模块,就算你网站后台开了伪静态,服务器不支持也没用。如果用的是虚拟主机,大部分虚拟主机面板里都有一键开启伪静态的按钮,直接在面板里开就行,不用手动改配置,对新手来说更友好。
检查伪静态规则是否和程序匹配
很多新手站长随便复制一段伪静态规则就粘贴上去,根本没看是不是适配自己的建站程序,这也是伪静态设置失败最常见的原因。不同的建站程序,伪静态规则是不一样的,就算都是WordPress,不同的服务器配置,规则写法也有区别。比如nginx下WordPress的伪静态规则,正确的写法是location / { try_files $uri $uri/ /index.php?$query_string; },如果你的规则写错了,就会导致所有内页都跳转到404。如果是织梦、帝国这类CMS,也都有各自对应的规则,去程序官方文档就能找到正确的规则,复制过去替换掉错的就能解决问题。
检查网站目录权限是否正确
伪静态规则需要服务器读取网站目录下的.htaccess或者nginx配置文件,如果目录权限设置不对,服务器没有读取权限,也会导致伪静态失效。比如Linux服务器下,网站目录的权限一般要设置成755,文件权限设置成644,如果你的目录权限是700或者更高,服务器可能就读取不到配置文件,导致伪静态不生效。如果是apache的.htaccess文件,也要确认这个文件在网站根目录,权限是644,这样服务器才能正常读取里面的规则。可以通过FTP工具或者面板里的文件管理功能,直接修改文件和目录权限,改完之后刷新一下网站试试。
检查web根目录配置是否正确
还有一种情况,很多新手买了服务器之后,把网站程序放在了错误的目录,或者服务器配置的web根目录和程序实际存放目录不一致,也会导致伪静态规则不生效。比如你把网站程序放在了/www/wwwroot/test目录,但是nginx配置里root写的是/www/wwwroot,这样伪静态规则路径就不对了,自然没法生效。你可以打开服务器的web配置文件,看看root路径对不对,是不是指向你网站程序所在的目录,如果不对,改对路径之后重启web服务就能解决问题。这个问题很多新手容易忽略,排查了半天都找不到原因,其实就是路径错了。
检查是否开启了PATHINFO支持
很多CMS程序比如织梦、ThinkPHP开发的网站,伪静态需要开启PATHINFO支持,如果服务器没开这个功能,就算伪静态规则写对了,也会出现404错误。不同的服务器开启方法不一样,nginx下一般需要在配置里加上fastcgi_param PATH_INFO $fastcgi_path_info;,然后重启nginx就行。如果是apache,一般默认是开启的,不过有些虚拟主机出于安全考虑会禁用,你可以联系主机服务商帮你开启。开启完PATHINFO之后,再刷新网站,伪静态就能正常生效了。
检查是否存在CDN或者缓存冲突
现在很多站长都会用CDN加速网站,如果你改完伪静态规则之后,CDN还缓存着旧的配置,也会导致短时间内伪静态不生效。这种情况你只需要登录CDN服务商的后台,清空一下CDN的缓存,然后再刷新网站就能解决。另外,如果你的网站开启了页面缓存或者CDN缓存,改完配置之后一定要清空缓存,不然旧的配置会一直生效,你折腾半天也找不到问题在哪。还有一些CDN会自带url重写功能,如果CDN端的规则和服务器端的规则冲突,也会导致伪静态设置失败,这时候就要检查CDN端的配置,把冲突的规则删掉。
重新生成一遍网站的固定链接
如果你用的是WordPress这类建站程序,改完服务器端的配置之后,最好再去后台重新生成一遍固定链接,方法很简单,登录WordPress后台,找到“设置-固定链接”,不用改设置,直接点击“保存更改”,后台就会重新生成一遍伪静态规则,很多时候保存一下就解决问题了。如果之前你的根目录下没有.htaccess文件,保存之后WordPress会自动生成,你只需要确认一下文件权限对不对就行。
总的来说,伪静态设置失败大多都是配置环节出了小问题,不是什么大毛病,按照上面的步骤一步步排查,从服务器配置到程序规则再到权限缓存,基本上都能找到问题。如果排查完还是不行,可以把错误信息发给主机服务商或者懂技术的朋友,提供清楚你的web服务器类型、建站程序,别人也能更快帮你定位问题。设置完伪静态之后,最好把每个内页都点开试试,确认没问题再上线,避免影响用户访问和搜索引擎收录。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!