我们有一个数百个网址的数据库,我们想要显示类似的内容。但我们不想在wordpress中制作数百页。替代wordpress的404页面
有没有一种方法可以覆盖/抑制wordpress 404页面以显示来自此数据库中所有网址上的页面(已创建)的内容。
我所需要的只是将代码做到一个URL,剩下的事情就可以完成。
谢谢
我们有一个数百个网址的数据库,我们想要显示类似的内容。但我们不想在wordpress中制作数百页。替代wordpress的404页面
有没有一种方法可以覆盖/抑制wordpress 404页面以显示来自此数据库中所有网址上的页面(已创建)的内容。
我所需要的只是将代码做到一个URL,剩下的事情就可以完成。
谢谢
在主题文件夹使用404.php
这样,您就可以发现,被称为URL和自定义页面一点。
希望这有助于 杰森
[更新]
我不明白为什么需要一个插件。在404.php模板你会像这样:
<?php
get_header();
//Get called URL
$url = $_SERVER['REQUEST_URI'];
//Some function to check database to see if this URL should exist
if(checkIfPageExists($url)) {
//Page Code Here
} else {
//404 Code Here
}
get_footer();
?>
[更新2]
固定的状态代码很简单:
<?php
//Get called URL
$url = $_SERVER['REQUEST_URI'];
//Some function to check database to see if this URL should exist
if(checkIfPageExists($url)) {
//Set 200 Status
status_header("200");
//Get Header
get_header();
//Page Code Here
} else {
//Set 404 Status
status_header("404");
//Get Header
get_header();
//404 Code Here
}
get_footer();
?>
您可以使用htaccess。在wordpress安装中的htaccess文件顶部输入以下内容。 404page.html是您创建的错误页面。
ErrorDocument 404 /404page.html
希望有帮助。
你可以使用301重定向在你的htaccess文件中
RewriteRule ^your-db-url.html /your-redirect-page.html [L,R=301]
你也可以编写一个脚本,以这种格式列出你的所有网址,然后将它复制并粘贴到你的.htaccess文件中,超出你的wordpress重写规则。
我需要创建一个插件,所以我需要挂钩到WordPress的某个地方。 –
我已更新我的回答 – dciso
问题在于它仍然会返回404状态。这可能不是想要的。 – Nick