之前给大家分享了修改Discuz帖子/文章被删除后跳转至404页面,并返回404状态,让大家知道了如何设置帖子或者文章被删除了后返回404状态,从而对404更有利。
如果插件被删了,出现“插件不存在或已关闭”那么如何使这样一个页面也返回404代码呢?
在解决这样一个问题之前我也百度了一下,这个问题关注的人并不多,有人有这样的疑问,但是没有解决,所以没有从度娘那里找到答案。在苦苦折腾一番之后终于找到了代码在哪里修改,特此给大家分享一下。
解决步骤:
1、打开网站根目录,找到“plugin.php”文件,最好使用专业点的软件打开,比如editplus、dreamweaver等。
2、找到第37行代码,具体位置:
if(empty($identifier) || !preg_match("/^[a-z0-9_\-]+$/i", $module) || !in_array($identifier, $_G['setting']['plugins']['available'])) {
showmessage('plugin_nonexistence');
将其中的
showmessage('plugin_nonexistence');
替换成:
header('HTTP/1.1 404 Not Found');
header('status: 404 Not Found');
include("404/index.html");
exit();
因为“showmessage('plugin_nonexistence');”这一段在文件里出现比较多,37行的替换掉对于seo效果是最好的,其他的可以不用管,其中“404/index.html”为自己设置的404页面的路径。
效果演示:
修改之前:
修改之后: