我们有一个数百个网址的数据库,我们想要显示相似的内容。但我们不想在wordpress中制作数百页。
有没有办法可以覆盖/禁止wordpress 404页面来显示此数据库中所有网址上已有网页的内容。
我只需要将代码写到一个URL上,我就可以完成其余的工作。
谢谢
答案 0 :(得分:1)
在主题文件夹中使用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();
?>
答案 1 :(得分:0)
您可以使用htaccess。在wordpress安装中的htaccess文件顶部输入以下内容。 404page.html是您创建的错误页面。
ErrorDocument 404 /404page.html
希望有所帮助。
答案 2 :(得分:0)
您可以在htaccess文件中使用301重定向
RewriteRule ^your-db-url.html /your-redirect-page.html [L,R=301]
您也可以编写一个脚本,以此格式列出所有网址,并将其复制并粘贴到您的wordpress重写规则上方的.htaccess文件中。