1

我们有一个包含数百个 url 的数据库,我们希望为其显示类似的内容。但是我们不想在 wordpress 中制作数百页。

有没有一种方法可以覆盖/抑制 wordpress 404 页面以在此数据库中的所有 url 上显示页面(已创建)的内容。

我所需要的只是对一个 URL 执行此操作的代码,剩下的我就可以完成了。

谢谢

4

3 回答 3

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();

?>
于 2012-06-12T17:43:45.417 回答
0

您可以在 htaccess 文件中使用 301 重定向

RewriteRule ^your-db-url.html /your-redirect-page.html [L,R=301]

您也可以编写一个脚本,以这种格式列出您的所有 url,然后将其复制并粘贴到您的 .htaccess 文件中,高于您的 wordpress 重写规则。

于 2012-06-12T18:19:48.317 回答
0

您可以使用 htaccess。在您的 wordpress 安装中的 htaccess 文件顶部输入以下内容。404page.html 是您创建的错误页面。

ErrorDocument 404 /404page.html

希望有帮助。

于 2012-06-12T17:39:10.947 回答